public Estimate Create(Guid profileGuid, DateTime createDate, ERPCore.Enterprise.Models.Transactions.Enums.PurchasePurposes purpose) { var newPurchaseEstimate = new PurchaseEstimate() { TransactionType = TransactionTypes.PurchaseEstimate, Id = Guid.NewGuid(), No = this.NextNumber, ProfileGuid = profileGuid, TransactionDate = createDate, PurchasePurposes = purpose, TaxCode = organization.TaxCodes.GetDefaultInput, SelfProfileGuid = organization.SelfProfile.Id, ExpiredInDayCount = 90, }; erpNodeDBContext.PurchaseEstimates.Add(newPurchaseEstimate); erpNodeDBContext.SaveChanges(); return(newPurchaseEstimate); }
public PurchaseEstimate Copy(PurchaseEstimate originalPurchaseEstimate, DateTime trDate) { var clonePurchaseEstimate = this.erpNodeDBContext.PurchaseEstimates .AsNoTracking() .Include(p => p.Items) .FirstOrDefault(x => x.Id == originalPurchaseEstimate.Id); clonePurchaseEstimate.Id = Guid.NewGuid(); clonePurchaseEstimate.TransactionDate = trDate; clonePurchaseEstimate.Reference = "Clone-" + clonePurchaseEstimate.Reference; clonePurchaseEstimate.No = organization.PurchaseEstimates.NextNumber; clonePurchaseEstimate.Status = EstimateStatus.Quote; clonePurchaseEstimate.Items.ToList().ForEach(ci => ci.Id = Guid.NewGuid()); this.erpNodeDBContext.PurchaseEstimates.Add(clonePurchaseEstimate); this.erpNodeDBContext.SaveChanges(); return(clonePurchaseEstimate); }
public PurchaseEstimate Save(PurchaseEstimate est) { var existEst = erpNodeDBContext.PurchaseEstimates.Find(est.Id); if (existEst != null) { existEst.Reference = est.Reference; existEst.Memo = est.Memo; existEst.ProjectGuid = est.ProjectGuid; existEst.TransactionDate = est.TransactionDate; existEst.PaymentTermGuid = est.PaymentTermGuid; existEst.ShippingTermGuid = est.ShippingTermGuid; existEst.TaxCodeGuid = est.TaxCodeGuid; existEst.TaxCode = organization.TaxCodes.Find(est.TaxCodeGuid); existEst.Calculate(); erpNodeDBContext.SaveChanges(); return(est); } return(null); }
public void Remove(PurchaseEstimate entity) => erpNodeDBContext.PurchaseEstimates.Remove(entity);