public IActionResult SaleOrderInsert(SaleOrder model) { if (ModelState.IsValid) { model.SOId = Guid.NewGuid().ToString(); model.Status = Status.Pending.ToString(); collectionSaleOrder.Create(model); } ModelState.Clear(); return(RedirectToAction("SaleOrderInsert")); }
private void SaveSaleOrder(DataType.SaleOrderStatus saleOrderStatus = DataType.SaleOrderStatus.NotBalanced) { _saleOrder.HowBalance = RadBanlanceModeCash.IsChecked.HasValue && RadBanlanceModeCash.IsChecked.Value ? (SByte)DataType.SaleOrderBalancedMode.Cash : RadBanlanceModeCard.IsChecked.HasValue && RadBanlanceModeCard.IsChecked.Value ? (SByte)DataType.SaleOrderBalancedMode.MemberCard : (SByte)DataType.SaleOrderBalancedMode.UnitUnionPay; _soProduceDomainModels.ForEach( x => { x.SOProduce.RetailPrice = x.SOProduce.Produce.RetailPrice; x.SOProduce.SOProduceStatusCategory = (sbyte)saleOrderStatus; }); _saleOrder.FavorableCost = _balanceDomainModel.DiscountPrice; _saleOrder.UserRealPrice = _balanceDomainModel.RealPrice; _saleOrder.UserReturnedPrice = _balanceDomainModel.ReturnedPrice; _saleOrder.ProduceCost = _soProduceDomainModels.Sum(x => x.SOProduce.Quantity * x.CostPerUnit); _saleOrder.TotalCost = (_saleOrder.OtherCost ?? 0) + _saleOrder.ProduceCost; _saleOrder.SaleOrderStatus = (sbyte)saleOrderStatus; if (_saleOrder.SaleOrderId == 0) { CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, _saleOrder); _soProduceDomainModels.ForEach(x => CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, x.SOProduce)); _saleOrder.SOProduces = _soProduceDomainModels.Select(x => x.SOProduce).ToList(); _saleOrderRepository.Create(_saleOrder); } else { CommonHelper.UpdateModifiedOnAndDate(ResourcesHelper.CurrentUser, _saleOrder); _soProduceDomainModels.ForEach(x => CommonHelper.AddCreatedOnAndDate(ResourcesHelper.CurrentUser, x.SOProduce)); _saleOrder.SOProduces = _soProduceDomainModels.Select(x => x.SOProduce).ToList(); _saleOrderRepository.Update(_saleOrder); } _saleOrder.SaleOrderStatus = (sbyte)saleOrderStatus; }