private Error validateModel(SalesOrderDetailTempModel model) { var error = isValidRequiredInt(model.ProductId, "ProductName", EvolutionResources.errAValidItemMustBeSelected); if (!error.IsError) { error = isValidNonRequiredString(getFieldValue(model.ProductDescription), 255, "ProductDescription", EvolutionResources.errTextDataRequiredInField); } return(error); }
private SalesOrderDetailTempModel createSalesOrderDetailTemp(SalesOrderHeaderTempModel soht, CompanyModel testCompany, CustomerModel testCustomer, UserModel testUser, int productId) { var prodPrice = ProductService.FindProductPrice(testCompany, productId, testCustomer.Id); var sodt = new SalesOrderDetailTempModel { CompanyId = testCompany.Id, SalesOrderHeaderTempId = soht.Id, LineNumber = 1000, ProductId = productId, OrderQty = RandomInt(), UnitPriceExTax = (prodPrice == null ? 0 : prodPrice.SellingPrice) //ConflictFlag = false, //ConflictApproved = false, //ReallocateItem = false }; return(sodt); }
public SalesOrderDetailTempModel FindSalesOrderDetailTempModel(int id, CompanyModel company, bool bCreateEmptyIfNotfound = true) { SalesOrderDetailTempModel model = null; var p = db.FindSalesOrderDetailTemp(id); if (p == null) { if (bCreateEmptyIfNotfound) { model = new SalesOrderDetailTempModel { CompanyId = company.Id, LineStatusId = db.FindSalesOrderHeaderSubStatus(SalesOrderHeaderSubStatus.Unpicked).Id } } ; } else { model = MapToModel(p); } return(model); }
public CustomerModel FindCustomer(SalesOrderDetailTempModel sodt, CompanyModel company) { var soht = FindSalesOrderHeaderTempModel(sodt.SalesOrderHeaderTempId, company, false); return(FindCustomer(soht, company)); }
public SalesOrderDetailTempModel MapToModel(SalesOrderDetailTempModel item) { var newItem = Mapper.Map <SalesOrderDetailTempModel, SalesOrderDetailTempModel>(item); return(newItem); }
public string LockSalesOrderDetailTemp(SalesOrderDetailTempModel model) { return(db.LockRecord(typeof(SalesOrderDetailTemp).ToString(), model.Id)); }
public Error InsertOrUpdateSalesOrderDetailTemp(SalesOrderDetailTempModel sodt, UserModel user, string lockGuid) { if (sodt.ProductId == null) { var product = db.FindProduct(sodt.ProductName); if (product != null) { sodt.ProductId = product.Id; } } var error = validateModel(sodt); if (!error.IsError) { // Check that the lock is still current if (!db.IsLockStillValid(typeof(SalesOrderDetailTemp).ToString(), sodt.Id, lockGuid)) { error.SetError(EvolutionResources.errRecordChangedByAnotherUser, "ProductName"); } else { var now = DateTimeOffset.Now; if (sodt.DateCreated == null) { sodt.DateCreated = now; } sodt.DateModified = now; SalesOrderDetailTemp temp = null; if (sodt.Id != 0) { // Existing record to be updated temp = db.FindSalesOrderDetailTemp(sodt.Id); // The following fields are not copied: // OriginalRowId // LineNumber Mapper.Map <SalesOrderDetailTempModel, SalesOrderDetailTemp>(sodt, temp); if (temp.LineNumber == null) { temp.LineNumber = db.GetNextSalesOrderDetailLineNumber(temp.SalesOrderHeaderTempId, true); } } else { // New record, so copy values // The following fields are not copied: // OriginalRowId // LineNumber temp = Mapper.Map <SalesOrderDetailTempModel, SalesOrderDetailTemp>(sodt); temp.OriginalRowId = sodt.OriginalRowId; temp.LineNumber = db.GetNextSalesOrderDetailLineNumber(temp.SalesOrderHeaderTempId, true); } temp.UserId = user.Id; if (sodt.UnitPriceExTax != null) { sodt.LinePrice = sodt.UnitPriceExTax * sodt.OrderQty; if (sodt.DiscountPercent != null && sodt.DiscountPercent.Value != 0) { sodt.LinePrice = sodt.LinePrice / 100 * (100 - sodt.DiscountPercent); } } db.InsertOrUpdateSalesOrderDetailTemp(temp); sodt.Id = temp.Id; } } return(error); }