public bool SaveNewOrder(OrderHdr order, List <OrderDtl> items, NumberRunNO runNum, ref string msg) { bool success = false; using (var dbContextTransaction = this.Database.BeginTransaction()) { try { Entry(order).State = EntityState.Added; foreach (OrderDtl item in items) { Entry(item).State = EntityState.Added; } Entry(runNum).State = (runNum.isNewMode) ? EntityState.Added : EntityState.Modified; SaveChanges(true); dbContextTransaction.Commit(); success = true; } catch (Exception ex) { dbContextTransaction.Rollback(); Console.WriteLine(ex); msg = ex.Message; } } return(success); }
public uint stamp; // Ordering number public static OrderHdr read(BinaryReader binaryReader) { OrderHdr newObj = new OrderHdr(); newObj.stamp = binaryReader.ReadUInt32(); return(newObj); }
void Save() { db = new DataClassesDataContext(); if (txtOrderNo.Text == "AUTO") { txtOrderNo.Text = getSONO(); } string sono = txtOrderNo.Text; var order = db.OrderHdrs.Where(x => x.OrderNo == sono).FirstOrDefault(); OrderHdr hdr = null; if (order == null) { hdr = new OrderHdr(); hdr.CreateBy = "Admin"; hdr.CreateDate = DateTime.Now; hdr.OrderNo = sono; hdr.OrderStatus = txtStatus.Text; } else { hdr = order; } if (txtDate.Date.Year > 2017) { hdr.OrderDate = txtDate.Date; } hdr.OrderType = txtType.Text; hdr.Remark = txtRemark.Text; hdr.ResellerCode = txtAgent.Text; hdr.CustomerCode = txtCustCode.Text; hdr.CustomerName = txtCustName.Text; if (order == null) { db.OrderHdrs.InsertOnSubmit(hdr); } using (TransactionScope trans = new TransactionScope()) { try { db.SubmitChanges(); trans.Complete(); callback.JSProperties["cpErr"] = "Save sucessfully"; } catch (Exception ex) { callback.JSProperties["cpErr"] = ex.Message; } } }
public bool SaveArticleStockInData(ArticleStockInModel articleStockInModel) { try { var invoice = new Invoice(); var orderHdr = new OrderHdr(); orderHdr.OrderDtl = new List <OrderDtl>(); var articleStockBalances = new List <ArticleStockBalances>(); //Get article codes for updating article stock var articleCodes = (from a in articleStockInModel.ArticleStockBalanceModels select a.ArticleCode).ToList(); var articleStockBalanceList = this.articleStockBalanceRepository.GetArticleStockBalanceByArticleCodes(articleCodes); Mapper.Map(articleStockInModel.InvoiceModel, invoice); Mapper.Map(articleStockInModel.OrderHdrModel, orderHdr); for (int rowIndex = 0; rowIndex < articleStockInModel.OrderDtlModels.Count; rowIndex++) { orderHdr.OrderDtl.Add(Mapper.Map(articleStockInModel.OrderDtlModels[rowIndex], new OrderDtl())); } for (int rowIndex = 0; rowIndex < articleStockInModel.ArticleStockBalanceModels.Count; rowIndex++) { var articleStockBalance = articleStockBalanceList.Where(a => a.ArticleCode == articleStockInModel.ArticleStockBalanceModels[rowIndex].ArticleCode && a.SiteCode == CommonModel.SiteCode).FirstOrDefault(); if (articleStockBalance != null) { articleStockBalance.PhysicalQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].PhysicalQty; articleStockBalance.TotalPhysicalSaleableQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalPhysicalSaleableQty; articleStockBalance.TotalSaleableQty += articleStockInModel.ArticleStockBalanceModels[rowIndex].TotalSaleableQty; articleStockBalance.UPDATEDAT = CommonModel.SiteCode; articleStockBalance.UPDATEDBY = CommonModel.UserID; articleStockBalance.UPDATEDON = DateTime.Now; } } return(this.articleStockBalanceRepository.SaveArticleStockInData(invoice, orderHdr, articleStockBalanceList.ToList())); } catch (Exception ex) { Logger.Log(ex.Message, Logger.LogingLevel.Error); throw ex; } }
public static PacketOpcode readOpcode(BinaryReader fragDataReader) { PacketOpcode opcode = 0; opcode = (PacketOpcode)fragDataReader.ReadUInt32(); if (opcode == PacketOpcode.WEENIE_ORDERED_EVENT) { WOrderHdr orderHeader = WOrderHdr.read(fragDataReader); opcode = (PacketOpcode)fragDataReader.ReadUInt32(); } if (opcode == PacketOpcode.ORDERED_EVENT) { OrderHdr orderHeader = OrderHdr.read(fragDataReader); opcode = (PacketOpcode)fragDataReader.ReadUInt32(); } return(opcode); }
public IActionResult Create([FromBody] OrderInformation orderInformation) { if (!ModelState.IsValid) { return(BadRequest()); } var client = Request.GetClient(context); var basket = (from i in context.Basket where i.ClientId == client.Id select new OrderDtl { Price = i.Price, Product = i.Product, Qty = i.Qty, Status = OrderDtlStatus.Wait }).ToList(); if (basket.Count == 0) { return(BadRequest()); } //Todo: нужно подключить Automapper OrderHdr orderHdr = new OrderHdr(); orderHdr.Client = client; orderHdr.CreatedDate = DateTime.Now; orderHdr.Status = OrderHdrStatus.Requested; orderHdr.ClientName = orderInformation.ClientName; orderHdr.Phone = orderInformation.Phone; orderHdr.Address = orderInformation.Address; orderHdr.Latitude = orderInformation.Latitude; orderHdr.Longtitude = orderInformation.Longtitude; orderHdr.Sum = basket.Sum(a => a.Price * a.Qty); orderHdr.DeliveryDateTime = orderInformation.DeliveryDateTime.LocalDateTime; orderHdr.OrderDtls = basket; context.OrderHdrs.Add(orderHdr); context.Basket.RemoveRange(context.Basket.Where(a => a.ClientId == client.Id)); context.SaveChanges(); return(Json(new { orderID = orderHdr.Id, clientName = orderHdr.ClientName, sum = orderHdr.Sum, address = orderHdr.Address, orderDate = orderHdr.DeliveryDateTime.ToString("dd-MM-yyyy"), orderTime = orderHdr.DeliveryDateTime.ToString("hh:mm") })); }
public bool SaveArticleStockOutData(ArticleStockOutModel articleStockOutModel) { try { var orderHdr = new OrderHdr(); orderHdr.OrderDtl = new List <OrderDtl>(); //Get article codes for updating article stock var articleCodes = (from a in articleStockOutModel.OrderDtlModels select a.ArticleCode).ToList(); var articleStockBalanceList = this.articleStockBalanceRepository.GetArticleStockBalanceByArticleCodes(articleCodes); for (int rowIndex = 0; rowIndex < articleStockOutModel.OrderDtlModels.Count(); rowIndex++) { var articleStockBalance = articleStockBalanceList.Where(a => a.ArticleCode == articleStockOutModel.OrderDtlModels[rowIndex].ArticleCode).FirstOrDefault(); if (articleStockBalance != null) { decimal quantity = articleStockOutModel.OrderDtlModels[rowIndex].AdjustmentQty; if (articleStockOutModel.StockOutReason == StockOutReason.ReturnToSupplier || articleStockOutModel.StockOutReason == StockOutReason.WriteOff) { articleStockBalance.PhysicalQty -= quantity; switch (articleStockOutModel.StockFromLocation) { case StockFromLocation.Damaged: articleStockBalance.TotalPhysicalNonSaleableQty -= quantity; articleStockBalance.DamagedQty -= quantity; break; case StockFromLocation.NonSaleable: articleStockBalance.TotalPhysicalNonSaleableQty -= quantity; articleStockBalance.NonSaleableQty -= quantity; break; case StockFromLocation.Saleable: articleStockBalance.TotalPhysicalSaleableQty -= quantity; articleStockBalance.TotalSaleableQty -= quantity; break; } } else { articleStockBalance.TotalPhysicalNonSaleableQty += quantity; articleStockBalance.TotalPhysicalSaleableQty -= quantity; articleStockBalance.TotalSaleableQty -= quantity; if (articleStockOutModel.StockOutReason == StockOutReason.Damaged) { articleStockBalance.DamagedQty += quantity; } else if (articleStockOutModel.StockOutReason == StockOutReason.NonSaleable) { articleStockBalance.NonSaleableQty -= quantity; } } articleStockBalance.UPDATEDON = DateTime.Now; articleStockBalance.UPDATEDBY = CommonModel.UserID; articleStockBalance.UPDATEDAT = CommonModel.SiteCode; } } var maxTranNo = this.articleStockBalanceRepository.GetMaxTranNoInStockAdjustment(); maxTranNo = maxTranNo + 1; var stockAdjustmentList = new List <StockAdjustment>(); for (int i = 0; i < articleStockOutModel.OrderDtlModels.Count; i++) { stockAdjustmentList.Add(new StockAdjustment { SiteCode = CommonModel.SiteCode, TrnNo = maxTranNo, FinYear = CommonModel.CurrentDate.ToString("yyyy"), TrnDate = CommonModel.CurrentDate, ArticleCode = articleStockOutModel.OrderDtlModels[i].ArticleCode, EAN = articleStockOutModel.OrderDtlModels[i].EAN, UOM = articleStockOutModel.OrderDtlModels[i].UnitofMeasure, Qty = articleStockOutModel.OrderDtlModels[i].AdjustmentQty, Reason = (!string.IsNullOrEmpty(articleStockOutModel.OrderDtlModels[i].Reason)) ? articleStockOutModel.OrderDtlModels[i].Reason : articleStockOutModel.Reason, CREATEDAT = CommonModel.SiteCode, CREATEDBY = CommonModel.UserID, CREATEDON = CommonModel.CurrentDate, UPDATEDAT = CommonModel.SiteCode, UPDATEDBY = CommonModel.UserID, UPDATEDON = CommonModel.CurrentDate, STATUS = true }); maxTranNo += 1; } return(this.articleStockBalanceRepository.UpdateArticleStockOutData(articleStockBalanceList.ToList(), stockAdjustmentList)); } catch (Exception ex) { Logger.Log(ex.Message, Logger.LogingLevel.Error); throw ex; } }