Prvi commit

This commit is contained in:
David Štaleker
2023-05-12 09:00:07 +02:00
parent d3ffe93e42
commit 03b92525d7
14757 changed files with 9251133 additions and 53 deletions

View File

@@ -0,0 +1,85 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using EveryThing.Models.CodeTable;
namespace EveryThing.Models.Project
{
public enum ProjectStatus
{
[Display(Name = "Odprt")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključen")]
Finished = 2,
[Display(Name = "Ponudba")]
Offer = 10
}
public class Project
{
[Key]
public int IdProject { get; set; }
[Required]
[ForeignKey("Company")]
public int IdCompanyFk { get; set; }
[Required]
[Display(Name = "Partner")]
[ForeignKey("Partner")]
public int IdPartnerFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Številka naročila kupca")]
public string BuyersOrderNumber { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Required]
public int ProjectNumber { get; set; } = 0;
[Required]
public int ProjectYear { get; set; } = 0;
[Required]
[Display(Name = "Status")]
public ProjectStatus Status { get; set; } = ProjectStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[NotMapped]
[Display(Name = "Številka projekta")]
public string ProjectNumberFormatted => $"{ProjectYear}-{ProjectNumber:D4}";
[NotMapped]
[Display(Name = "Prvi dobavni rok")]
public DateTime? FirstDeliveryDate { get; set; }
[NotMapped]
[Display(Name = "Prvi dobavni rok")]
public string FirstDeliveryDateString => FirstDeliveryDate == null || (DateTime)FirstDeliveryDate == DateTime.MaxValue
? ""
: ((DateTime)FirstDeliveryDate).ToString("dd.MM.yyyy");
// ForeignKey
public CodeTableCompany Company { get; set; }
public CodeTablePartner Partner { get; set; }
// ProjectPart
[InverseProperty("Project")]
public virtual ICollection<ProjectPart> ProjectProjectPart { get; set; }
}
}

View File

@@ -0,0 +1,69 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
namespace EveryThing.Models.Project
{
public enum ProjectPartStatus
{
[Display(Name = "Odprto")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključeno")]
Finished = 2,
[Display(Name = "Odpremljeno")]
Shipped = 3
}
public class ProjectPart
{
[Key]
public int IdProjectPart { get; set; }
[Required]
[ForeignKey("Project")]
public int IdProjectFk { get; set; }
[Required]
[Display(Name = "Naziv")]
public string Title { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Required]
[Display(Name = "Status")]
public ProjectPartStatus Status { get; set; } = ProjectPartStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[Display(Name = "Datum odpreme")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ShippedDate { get; set; }
[Display(Name = "Pot načrtov")]
public string PathOfPlans { get; set; }
[Required]
public int ProjectPartNumber { get; set; } = 0;
[NotMapped]
public string ProjectPartNumberFormatted => (Project != null ? Project.ProjectNumberFormatted : "") + $"-{ProjectPartNumber:D4}";
// ForeignKey
public Project Project { get; set; }
// ProjectPartItem
[InverseProperty("ProjectPart")]
public virtual ICollection<ProjectPartItem> ProjectPartProjectPartItem { get; set; }
}
}

View File

@@ -0,0 +1,164 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using EveryThing.Models.CodeTable;
using EveryThing.Models.Invoice;
namespace EveryThing.Models.Project
{
public enum ProjectPartItemStatus
{
[Display(Name = "Odprto")]
Opened = 0,
[Display(Name = "V izdelavi")]
InProduction = 1,
[Display(Name = "Zaključeno")]
Finished = 2,
[Display(Name = "Odpremljeno")]
Shipped = 3
}
public class ProjectPartItem
{
[Key]
public int IdProjectPartItem { get; set; }
[Required]
[ForeignKey("ProjectPart")]
public int IdProjectPartFk { get; set; }
[ForeignKey("Item")]
[Display(Name = "Artikel")]
public int? IdItemFk { get; set; }
[Required]
[Display(Name = "Število kosov")]
public float NumberOfItems { get; set; }
[Display(Name = "Število kompletov")]
public float NumberOfSets { get; set; }
[ForeignKey("Material")]
[Display(Name = "Material")]
public int? IdMaterialFk { get; set; }
[Display(Name = "Dimenzije surovca")]
public string MaterialDimensions { get; set; }
[Required]
[ForeignKey("MaterialSupplier")]
[Display(Name = "Dobavitelj materiala")]
public int? IdMaterialSupplierFk { get; set; }
[Display(Name = "Cena - Material")]
public float MaterialPrice { get; set; }
[Display(Name = "Cena - Delo")]
public float WorkPrice { get; set; }
[Display(Name = "Prodajna cena")]
public float SellingPrice { get; set; } = 0;
[Display(Name = "Število kosov - Zaključeno")]
public float NumberOfItemsFinished { get; set; }
[NotMapped]
[Display(Name = "Vrednost - Delo")]
public double WorkValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(WorkPrice);
set => WorkPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "Vrednost - Delo")]
public double MaterialValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(MaterialPrice);
set => MaterialPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "Vrednost - cena")]
public double CostPrice=> Convert.ToDouble(WorkPrice) + Convert.ToDouble(MaterialPrice);
[NotMapped]
[Display(Name = "Vrednost - strošek")]
public double CostValue => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(CostPrice);
[NotMapped]
[Display(Name = "Prodajna vrednost")]
public double SellingValue
{
get => Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems) * Convert.ToDouble(SellingPrice);
set => SellingPrice = Convert.ToSingle(Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems == 0
? 0
: value / (Convert.ToDouble(NumberOfSets) * Convert.ToDouble(NumberOfItems))));
}
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPrice
{
get => SellingPrice - (MaterialPrice + WorkPrice);
set => SellingPrice = Convert.ToSingle(value + (MaterialPrice + WorkPrice));
}
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPriceValue => SellingValue - (MaterialValue + WorkValue);
[NotMapped]
[Display(Name = "RVC")]
public double DifferenceInPricePercentage =>
(Convert.ToDouble(MaterialValue) + Convert.ToDouble(WorkValue)) == 0
? 100
: ((SellingValue / (MaterialValue + WorkValue) - 1) * 100);
[Required]
[Display(Name = "Status")]
public ProjectPartItemStatus Status { get; set; } = ProjectPartItemStatus.Opened;
[Display(Name = "Datum zaključka")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? FinishedDate { get; set; }
[Display(Name = "Datum odpreme")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? ShippingDate { get; set; }
[Display(Name = "Dobavni rok")]
[DisplayFormat(DataFormatString = "{0:dd.MM.yyyy}", ApplyFormatInEditMode = true)]
public DateTime? DeliveryDate { get; set; }
[Display(Name = "Spremenjeno")]
public DateTime DateModified { get; set; } = DateTime.Now;
[Required]
public int ProjectPartItemNumber { get; set; } = 0;
[NotMapped]
public string ProjectPartNumberFormatted => (ProjectPart != null ? ProjectPart.ProjectPartNumberFormatted : "") + $"-{ProjectPartItemNumber:D4}";
// ForeignKey
public ProjectPart ProjectPart { get; set; }
public CodeTablePartner MaterialSupplier { get; set; }
public CodeTableItem Item { get; set; }
public CodeTableItem Material { get; set; }
//Invoice item
[InverseProperty("ProjectPartItem")]
public virtual ICollection<InvoiceItem> InvoiceItem { get; set; }
}
}