Odstranjenn projekt

dodan vnos pozicije fakture
This commit is contained in:
David Štaleker
2023-05-13 16:42:01 +02:00
parent 03b92525d7
commit a45fe73754
76 changed files with 407 additions and 37538 deletions

View File

@@ -155,10 +155,6 @@ namespace EveryThing.Models.CodeTable
[InverseProperty("Company")]
public virtual ICollection<CodeTablePrePostText> CompanyPrePostText { get; set; }
// Project
[InverseProperty("Company")]
public virtual ICollection<Project.Project> CompanyProject { get; set; }
// CodeTableItem
[InverseProperty("Company")]
public virtual ICollection<CodeTableItem> CompanyItem { get; set; }

View File

@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using EveryThing.Models.Project;
namespace EveryThing.Models.CodeTable
{
@@ -41,14 +40,6 @@ namespace EveryThing.Models.CodeTable
// ForeignKey
public CodeTableCompany Company { get; set; }
// ProjectPartItem
[InverseProperty("Item")]
public virtual ICollection<ProjectPartItem> ItemProjectPartItem { get; set; }
// ProjectPartItem
[InverseProperty("Material")]
public virtual ICollection<ProjectPartItem> ItemProjectPartItemMaterial { get; set; }
// InoviceItem
[InverseProperty("Item")]
public virtual ICollection<Invoice.InvoiceItem> InvoiceItem { get; set; }

View File

@@ -4,7 +4,6 @@ using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using EveryThing.Models.Project;
using EveryThing.Models.Transport;
namespace EveryThing.Models.CodeTable
@@ -85,16 +84,9 @@ namespace EveryThing.Models.CodeTable
[InverseProperty("Partner")]
public virtual ICollection<TransportLoadingOrder> PartnerTransportLoadingOrder { get; set; }
// ProjectPartItem
[InverseProperty("MaterialSupplier")]
public virtual ICollection<ProjectPartItem> PartnerProjectPartItem { get; set; }
// InvoicePart
[InverseProperty("Partner")]
public virtual ICollection<Invoice.Invoice> Invoice { get; set; }
// Project
[InverseProperty("Partner")]
public virtual ICollection<Project.Project> PartnerProject { get; set; }
}
}

View File

@@ -39,6 +39,11 @@ namespace EveryThing.Models.Invoice
[Display(Name = "Opis pozicije")]
public string ItemDescription { get; set; }
[Display(Name = "Artikel")]
public string UnlistedItem { get; set; }
[NotMapped] public string ItemDisplay => Item?.Title ?? UnlistedItem;
[Display(Name = "Opomba")]
public string Note { get; set; }
@@ -69,8 +74,6 @@ namespace EveryThing.Models.Invoice
// ForeignKey
public Invoice Invoice { get; set; }
public Project.ProjectPartItem ProjectPartItem { get; set; }
public CodeTable.CodeTableItem Item { get; set; }
/// <summary>
/// Povezana pozicija fakture, npr ko se iz dob naredi racun

View File

@@ -1,85 +0,0 @@
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

@@ -1,69 +0,0 @@
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

@@ -1,164 +0,0 @@
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; }
}
}