public IHttpActionResult CreateReturnData(DTO.SaleOrderMng.SaleOrder dtoItem) { BLL.SaleOrderMng bll = new BLL.SaleOrderMng(); Library.DTO.Notification notification; bool data = bll.CreateReturnData(dtoItem, out notification); return(Ok(new Library.DTO.ReturnData <bool>() { Data = data, Message = notification })); }
public IHttpActionResult Revise(int id, DTO.SaleOrderMng.SaleOrder dtoItem) { // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanReset)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } BLL.SaleOrderMng bll = new BLL.SaleOrderMng(); Library.DTO.Notification notification; bll.Revise(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.SaleOrderMng.SaleOrder>() { Data = dtoItem, Message = notification })); }
public IHttpActionResult Update(int id, DTO.SaleOrderMng.SaleOrder dtoItem) { Library.DTO.Notification notification; // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (id > 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanUpdate)) { // edit case return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } else if (id == 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanCreate)) { // create new case return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } // validation if (!Helper.CommonHelper.ValidateDTO <DTO.SaleOrderMng.SaleOrder>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.SaleOrderMng.SaleOrder>() { Data = dtoItem, Message = notification })); } // continue processing BLL.SaleOrderMng bll = new BLL.SaleOrderMng(); //validate quantity in stock if (!bll.ValidateStockQuantity(id, dtoItem, ControllerContext.GetAuthUserId(), out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.SaleOrderMng.SaleOrder>() { Data = dtoItem, Message = notification })); } bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.SaleOrderMng.SaleOrder>() { Data = dtoItem, Message = notification })); }
/// <summary> /// Hien thoi khong su dung ham nay (entities dang bi loi, sau nay se bo) /// </summary> /// <param name="dtoItem"></param> /// <param name="notification"></param> /// <returns></returns> public bool CreateReturnData(DTO.SaleOrderMng.SaleOrder dtoItem, out Library.DTO.Notification notification) { notification = new Library.DTO.Notification() { Type = Library.DTO.NotificationType.Success, Message = "You have been returned goods success" }; if (dtoItem.SaleOrderID <= 0) { throw new Exception("You need save PI before return data"); } try { using (SaleOrderReturnEntities context = CreateContext()) { //check quantity return that user entered foreach (var item in dtoItem.SaleOrderProductReturns.Where(o => o.SaleOrderProductReturnID < 0)) { var dbRemain = context.SaleOrderMng_LoadingPlanDetail_View.Where(o => o.LoadingPlanDetailID == item.LoadingPlanDetailID).FirstOrDefault(); if (dbRemain != null && item.OrderQnt > dbRemain.RemaingReturnQnt) { throw new Exception("Quantity of product: " + item.ArticleCode + "(" + item.Description + ") must be less than quantity of return remaining"); } } foreach (var item in dtoItem.SaleOrderSparepartReturns.Where(o => o.SaleOrderSparepartReturnID < 0)) { var dbRemain = context.SaleOrderMng_LoadingPlanSparepartDetail_View.Where(o => o.LoadingPlanSparepartDetailID == item.LoadingPlanSparepartDetailID).FirstOrDefault(); if (dbRemain != null && item.OrderQnt > dbRemain.RemaingReturnQnt) { throw new Exception("Quantity of product: " + item.ArticleCode + "(" + item.Description + ") must be less than quantity of return remaining"); } } //get reuturn index int?returnIdex = 1; int?returnIdexSparepart = 1; if (dtoItem.SaleOrderProductReturns.Where(o => o.SaleOrderProductReturnID > 0).Count() > 0) { returnIdex = dtoItem.SaleOrderProductReturns.OrderByDescending(o => o.ReturnIndex).FirstOrDefault().ReturnIndex + 1; } if (dtoItem.SaleOrderSparepartReturns.Where(o => o.SaleOrderSparepartReturnID > 0).Count() > 0) { returnIdexSparepart = dtoItem.SaleOrderSparepartReturns.OrderByDescending(o => o.ReturnIndex).FirstOrDefault().ReturnIndex + 1; } //create offer and fobwarehouse saleorder to prepare to import data to warehouse Offer_Return dbOffer = new Offer_Return(); dbOffer.ClientID = 70560; //EUROFAR dbOffer.SaleID = 23; //IRON dbOffer.Season = dtoItem.Season; dbOffer.OfferVersion = 1; dbOffer.Currency = dtoItem.Currency; dbOffer.OfferUD = context.OfferMng_function_GenerateOfferCode_Return(null, dbOffer.Season, dbOffer.SaleID, dbOffer.ClientID).FirstOrDefault(); OfferStatus_Return dbOfferStatus = new OfferStatus_Return(); dbOfferStatus.TrackingStatusID = DALBase.Helper.CREATED; dbOfferStatus.StatusDate = DateTime.Now; dbOfferStatus.UpdatedBy = dtoItem.UpdatedBy; dbOfferStatus.IsCurrentStatus = true; dbOffer.OfferStatus.Add(dbOfferStatus); SaleOrder_Return dbSaleOrder = new SaleOrder_Return(); dbSaleOrder.Season = dtoItem.Season; dbSaleOrder.InvoiceDate = DateTime.Now; dbSaleOrder.OrderType = "FOB_WAREHOUSE"; dbSaleOrder.ProformaInvoiceNo = context.SaleOrderMng_function_GeneratePINo_Return(dtoItem.UpdatedBy).FirstOrDefault(); dbSaleOrder.CreatedBy = dtoItem.UpdatedBy; dbSaleOrder.CreatedDate = DateTime.Now; dbSaleOrder.OriginSaleOrderID = dtoItem.SaleOrderID; dbOffer.SaleOrder.Add(dbSaleOrder); SaleOrderStatus_Return dbSaleOrderStatus = new SaleOrderStatus_Return(); dbSaleOrderStatus.TrackingStatusID = DALBase.Helper.CREATED; dbSaleOrderStatus.StatusDate = DateTime.Now; dbSaleOrderStatus.UpdatedBy = dtoItem.UpdatedBy; dbSaleOrderStatus.IsCurrentStatus = true; dbSaleOrder.SaleOrderStatus.Add(dbSaleOrderStatus); WarehouseImport dbWarehouseImport = new WarehouseImport(); dbWarehouseImport.ReceiptNo = context.SaleOrderMng_funtions_GenerateWarehouseImportReceiptNo(dtoItem.Season).FirstOrDefault(); dbWarehouseImport.ImportedDate = DateTime.Now; dbWarehouseImport.IsConfirmed = true; dbWarehouseImport.UpdatedBy = dtoItem.UpdatedBy; dbWarehouseImport.UpdatedDate = DateTime.Now; dbWarehouseImport.ConfirmedBy = dtoItem.UpdatedBy; dbWarehouseImport.ConfirmedDate = DateTime.Now; dbWarehouseImport.ImportTypeID = 2; dbWarehouseImport.Season = dtoItem.Season; //create offerline var selected_products = from p in dtoItem.SaleOrderProductReturns.Where(o => o.SaleOrderProductReturnID < 0) group p by new { p.ProductID, p.ArticleCode, p.ModelID, p.MaterialID, p.MaterialTypeID, p.MaterialColorID, p.FrameMaterialID, p.FrameMaterialColorID, p.SubMaterialID, p.SubMaterialColorID, p.SeatCushionID, p.BackCushionID, p.CushionColorID, p.FSCTypeID, p.FSCPercentID } into g select new { g.Key.ProductID, g.Key.ArticleCode, g.Key.ModelID, g.Key.MaterialID, g.Key.MaterialTypeID, g.Key.MaterialColorID, g.Key.FrameMaterialID, g.Key.FrameMaterialColorID, g.Key.SubMaterialID, g.Key.SubMaterialColorID, g.Key.SeatCushionID, g.Key.BackCushionID, g.Key.CushionColorID, g.Key.FSCTypeID, g.Key.FSCPercentID, TotalQnt = g.Sum(x => x.OrderQnt) }; OfferLine_Return dbOfferLine = new OfferLine_Return(); SaleOrderDetail_Return dbSaleOrderDetail = new SaleOrderDetail_Return(); SaleOrderProductReturn dbProductReturn = new SaleOrderProductReturn(); WarehouseImportProductDetail dbWarehouseImportProduct = new WarehouseImportProductDetail(); foreach (var item in selected_products) { dbOfferLine = new OfferLine_Return(); dbOfferLine.ArticleCode = item.ArticleCode; dbOfferLine.Description = dtoItem.SaleOrderProductReturns.Where(o => o.ProductID == item.ProductID).FirstOrDefault().Description; dbOfferLine.ModelID = item.ModelID; dbOfferLine.MaterialID = item.MaterialID; dbOfferLine.MaterialTypeID = item.MaterialTypeID; dbOfferLine.MaterialColorID = item.MaterialColorID; dbOfferLine.FrameMaterialID = item.FrameMaterialID; dbOfferLine.FrameMaterialColorID = item.FrameMaterialColorID; dbOfferLine.SubMaterialID = item.SubMaterialID; dbOfferLine.SubMaterialColorID = item.SubMaterialColorID; dbOfferLine.SeatCushionID = item.SeatCushionID; dbOfferLine.BackCushionID = item.BackCushionID; dbOfferLine.CushionColorID = item.CushionColorID; dbOfferLine.FSCTypeID = item.FSCTypeID; dbOfferLine.FSCPercentID = item.FSCPercentID; dbOfferLine.Quantity = item.TotalQnt; dbOffer.OfferLine.Add(dbOfferLine); //create saleOrderDetail dbSaleOrderDetail = new SaleOrderDetail_Return(); dbSaleOrderDetail.OrderQnt = item.TotalQnt; dbSaleOrderDetail.ProductStatusID = 1; dbOfferLine.SaleOrderDetail.Add(dbSaleOrderDetail); dbSaleOrder.SaleOrderDetail.Add(dbSaleOrderDetail); //create saleorder product return foreach (var item_return in dtoItem.SaleOrderProductReturns.Where(o => o.SaleOrderProductReturnID < 0 && o.ProductID == item.ProductID)) { dbProductReturn = new SaleOrderProductReturn(); dbProductReturn.LoadingPlanDetailID = item_return.LoadingPlanDetailID; dbProductReturn.OrderQnt = item_return.OrderQnt; dbProductReturn.ReturnIndex = returnIdex; dbProductReturn.CreatedDate = DateTime.Now; dbSaleOrderDetail.SaleOrderProductReturn.Add(dbProductReturn); } //create fob warehouse import var loadingplans = from p in dtoItem.SaleOrderProductReturns.Where(o => o.SaleOrderProductReturnID < 0 && o.ProductID == item.ProductID) group p by new { p.ProductID, p.LoadingPlanID } into g select new { g.Key.ProductID, g.Key.LoadingPlanID, TotalQnt = g.Sum(x => x.OrderQnt) }; foreach (var item_loadingplan in loadingplans) { dbWarehouseImportProduct = new WarehouseImportProductDetail(); dbWarehouseImportProduct.ProductID = item_loadingplan.ProductID; dbWarehouseImportProduct.Quantity = item_loadingplan.TotalQnt; dbWarehouseImportProduct.ProductStatusID = 1; //dbWarehouseImportProduct.LoadingPlanID = item_loadingplan.LoadingPlanID; dbWarehouseImportProduct.WarehouseImport = dbWarehouseImport; dbSaleOrderDetail.WarehouseImportProductDetail.Add(dbWarehouseImportProduct); } } //create offerlinesparepart var selected_spareparts = from s in dtoItem.SaleOrderSparepartReturns.Where(o => o.SaleOrderSparepartReturnID < 0) group s by new { s.SparepartID, s.ArticleCode, s.ModelID, s.PartID } into g select new { g.Key.SparepartID, g.Key.ArticleCode, g.Key.ModelID, g.Key.PartID, TotalQnt = g.Sum(o => o.OrderQnt) }; OfferLineSparepart_Return dbOfferLineSparepart = new OfferLineSparepart_Return(); SaleOrderDetailSparepart_Return dbSaleOrderDetailSparepart = new SaleOrderDetailSparepart_Return(); SaleOrderSparepartReturn dbSparepartReturn = new SaleOrderSparepartReturn(); WarehouseImportSparepartDetail dbWarehouseImportSparepart = new WarehouseImportSparepartDetail(); foreach (var item in selected_spareparts) { dbOfferLineSparepart = new OfferLineSparepart_Return(); dbOfferLineSparepart.ArticleCode = item.ArticleCode; dbOfferLineSparepart.Description = dtoItem.SaleOrderSparepartReturns.Where(o => o.SparepartID == item.SparepartID).FirstOrDefault().Description; dbOfferLineSparepart.ModelID = item.ModelID; dbOfferLineSparepart.PartID = item.PartID; dbOfferLine.Quantity = item.TotalQnt; dbOffer.OfferLineSparepart.Add(dbOfferLineSparepart); //create SaleOrderDetailSparepart dbSaleOrderDetailSparepart = new SaleOrderDetailSparepart_Return(); dbSaleOrderDetailSparepart.OrderQnt = item.TotalQnt; dbSaleOrderDetailSparepart.ProductStatusID = 1; dbSaleOrderDetailSparepart.SaleOrder = dbSaleOrder; dbOfferLineSparepart.SaleOrderDetailSparepart.Add(dbSaleOrderDetailSparepart); //create sparepart return foreach (var item_return in dtoItem.SaleOrderSparepartReturns.Where(o => o.SaleOrderSparepartReturnID < 0 && o.SparepartID == item.SparepartID)) { dbSparepartReturn = new SaleOrderSparepartReturn(); dbSparepartReturn.LoadingPlanSparepartDetailID = item_return.LoadingPlanSparepartDetailID; dbSparepartReturn.OrderQnt = item_return.OrderQnt; dbSparepartReturn.ReturnIndex = returnIdexSparepart; dbSparepartReturn.CreatedDate = DateTime.Now; dbSaleOrderDetailSparepart.SaleOrderSparepartReturn.Add(dbSparepartReturn); } //create fob warehouse import sparepart var loadingplans = from p in dtoItem.SaleOrderSparepartReturns.Where(o => o.SaleOrderSparepartReturnID < 0 && o.SparepartID == item.SparepartID) group p by new { p.SparepartID, p.LoadingPlanID } into g select new { g.Key.SparepartID, g.Key.LoadingPlanID, TotalQnt = g.Sum(x => x.OrderQnt) }; foreach (var item_loadingplan in loadingplans) { dbWarehouseImportSparepart = new WarehouseImportSparepartDetail(); dbWarehouseImportSparepart.SparepartID = item_loadingplan.SparepartID; dbWarehouseImportSparepart.Quantity = item_loadingplan.TotalQnt; dbWarehouseImportSparepart.ProductStatusID = 1; //dbWarehouseImportSparepart.LoadingPlanID = item_loadingplan.LoadingPlanID; dbWarehouseImportSparepart.WarehouseImport = dbWarehouseImport; dbSaleOrderDetailSparepart.WarehouseImportSparepartDetail.Add(dbWarehouseImportSparepart); } } //save data context.Offer.Add(dbOffer); context.SaveChanges(); } return(true); } catch (Exception ex) { notification.Type = Library.DTO.NotificationType.Error; notification.Message = ex.Message; if (ex.InnerException != null && !string.IsNullOrEmpty(ex.InnerException.Message)) { notification.DetailMessage.Add(ex.InnerException.Message); } return(false); } }
public void DTO2DB_SaleOrder(DTO.SaleOrderMng.SaleOrder dtoItem, ref SaleOrder dbItem) { /* * MAP & CHECK SaleOrder */ List <SaleOrderDetail> itemNeedDelete_Details = new List <SaleOrderDetail>(); List <SaleOrderDetailExtend> itemNeedDelete_DetailExtends; if (dtoItem.SaleOrderDetails != null) { //CHECK foreach (SaleOrderDetail dbDetail in dbItem.SaleOrderDetail) { //DB NOT EXIST IN DTO if (!dtoItem.SaleOrderDetails.Select(s => s.SaleOrderDetailID).Contains(dbDetail.SaleOrderDetailID)) { itemNeedDelete_Details.Add(dbDetail); } else //DB IS EXIST IN DB { itemNeedDelete_DetailExtends = new List <SaleOrderDetailExtend>(); foreach (SaleOrderDetailExtend dbDetailExtend in dbDetail.SaleOrderDetailExtend) { if (!dtoItem.SaleOrderDetails.Where(o => o.SaleOrderDetailID == dbDetail.SaleOrderDetailID).FirstOrDefault().SaleOrderDetailExtends.Select(x => x.SaleOrderDetailExtendID).Contains(dbDetailExtend.SaleOrderDetailExtendID)) { itemNeedDelete_DetailExtends.Add(dbDetailExtend); } } foreach (SaleOrderDetailExtend dbDetailExtend in itemNeedDelete_DetailExtends) { dbDetail.SaleOrderDetailExtend.Remove(dbDetailExtend); } } } foreach (SaleOrderDetail dbDetail in itemNeedDelete_Details) { List <SaleOrderDetailExtend> item_deleteds = new List <SaleOrderDetailExtend>(); foreach (SaleOrderDetailExtend dbDetailExtend in dbDetail.SaleOrderDetailExtend) { item_deleteds.Add(dbDetailExtend); } foreach (SaleOrderDetailExtend item in item_deleteds) { dbItem.SaleOrderDetail.Where(o => o.SaleOrderDetailID == dbDetail.SaleOrderDetailID).FirstOrDefault().SaleOrderDetailExtend.Remove(item); } dbItem.SaleOrderDetail.Remove(dbDetail); } //MAP SaleOrderDetail _dbDetail; SaleOrderDetailExtend _dbDetailExtend; foreach (DTO.SaleOrderMng.SaleOrderDetail dtoDetail in dtoItem.SaleOrderDetails) { if (dtoDetail.SaleOrderDetailID < 0) { _dbDetail = new SaleOrderDetail(); if (dtoDetail.SaleOrderDetailExtends != null) { foreach (DTO.SaleOrderMng.SaleOrderDetailExtend dtoDetailExtend in dtoDetail.SaleOrderDetailExtends) { _dbDetailExtend = new SaleOrderDetailExtend(); _dbDetail.SaleOrderDetailExtend.Add(_dbDetailExtend); AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetailExtend, SaleOrderDetailExtend>(dtoDetailExtend, _dbDetailExtend); } } dbItem.SaleOrderDetail.Add(_dbDetail); } else { _dbDetail = dbItem.SaleOrderDetail.FirstOrDefault(o => o.SaleOrderDetailID == dtoDetail.SaleOrderDetailID); if (_dbDetail != null && dtoDetail.SaleOrderDetailExtends != null) { foreach (DTO.SaleOrderMng.SaleOrderDetailExtend dtoDetailExtend in dtoDetail.SaleOrderDetailExtends) { if (dtoDetailExtend.SaleOrderDetailExtendID < 0) { _dbDetailExtend = new SaleOrderDetailExtend(); _dbDetail.SaleOrderDetailExtend.Add(_dbDetailExtend); } else { _dbDetailExtend = _dbDetail.SaleOrderDetailExtend.FirstOrDefault(o => o.SaleOrderDetailExtendID == dtoDetailExtend.SaleOrderDetailExtendID); } if (_dbDetailExtend != null) { AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetailExtend, SaleOrderDetailExtend>(dtoDetailExtend, _dbDetailExtend); } } } } if (_dbDetail != null) { AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetail, SaleOrderDetail>(dtoDetail, _dbDetail); } } } /* * MAP & CHECK SaleOrderExtend */ List <SaleOrderExtend> ItemNeedDelete_Extends = new List <SaleOrderExtend>(); if (dtoItem.SaleOrderExtends != null) { //CHECK foreach (SaleOrderExtend dbExtend in dbItem.SaleOrderExtend.Where(o => !dtoItem.SaleOrderExtends.Select(s => s.SaleOrderExtendID).Contains(o.SaleOrderExtendID))) { ItemNeedDelete_Extends.Add(dbExtend); } foreach (SaleOrderExtend dbExtend in ItemNeedDelete_Extends) { dbItem.SaleOrderExtend.Remove(dbExtend); } //MAP foreach (DTO.SaleOrderMng.SaleOrderExtend dtoDescription in dtoItem.SaleOrderExtends) { SaleOrderExtend dbExtend; if (dtoDescription.SaleOrderExtendID < 0) { dbExtend = new SaleOrderExtend(); dbItem.SaleOrderExtend.Add(dbExtend); } else { dbExtend = dbItem.SaleOrderExtend.FirstOrDefault(o => o.SaleOrderExtendID == dtoDescription.SaleOrderExtendID); } if (dbExtend != null) { AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderExtend, SaleOrderExtend>(dtoDescription, dbExtend); } } } /* * MAP & CHECK SaleOrderDetailSparepart */ List <SaleOrderDetailSparepart> itemNeedDelete = new List <SaleOrderDetailSparepart>(); if (dtoItem.SaleOrderDetailSpareparts != null) { //CHECK foreach (SaleOrderDetailSparepart item in dbItem.SaleOrderDetailSparepart.Where(o => !dtoItem.SaleOrderDetailSpareparts.Select(s => s.SaleOrderDetailSparepartID).Contains(o.SaleOrderDetailSparepartID))) { itemNeedDelete.Add(item); } foreach (SaleOrderDetailSparepart item in itemNeedDelete) { dbItem.SaleOrderDetailSparepart.Remove(item); } //MAP foreach (DTO.SaleOrderMng.SaleOrderDetailSparepart item in dtoItem.SaleOrderDetailSpareparts) { SaleOrderDetailSparepart dbSparepart; if (item.SaleOrderDetailSparepartID < 0) { dbSparepart = new SaleOrderDetailSparepart(); dbItem.SaleOrderDetailSparepart.Add(dbSparepart); } else { dbSparepart = dbItem.SaleOrderDetailSparepart.FirstOrDefault(o => o.SaleOrderDetailSparepartID == item.SaleOrderDetailSparepartID); } if (dbSparepart != null) { AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetailSparepart, SaleOrderDetailSparepart>(item, dbSparepart); } } } /* * MAP & CHECK Sample */ List <SaleOrderDetailSample> itemNeedDelete_Sample = new List <SaleOrderDetailSample>(); if (dtoItem.SaleOrderDetailSamples != null) { //CHECK foreach (SaleOrderDetailSample item in dbItem.SaleOrderDetailSample.Where(o => !dtoItem.SaleOrderDetailSamples.Select(s => s.SaleOrderDetailSampleID).Contains(o.SaleOrderDetailSampleID))) { itemNeedDelete_Sample.Add(item); } foreach (SaleOrderDetailSample item in itemNeedDelete_Sample) { dbItem.SaleOrderDetailSample.Remove(item); } //MAP foreach (DTO.SaleOrderMng.SaleOrderDetailSample item in dtoItem.SaleOrderDetailSamples) { SaleOrderDetailSample dbSample; if (item.SaleOrderDetailSampleID < 0) { dbSample = new SaleOrderDetailSample(); dbItem.SaleOrderDetailSample.Add(dbSample); } else { dbSample = dbItem.SaleOrderDetailSample.FirstOrDefault(o => o.SaleOrderDetailSampleID == item.SaleOrderDetailSampleID); } if (dbSample != null) { AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetailSample, SaleOrderDetailSample>(item, dbSample); } } } /* * MAP SaleOrder History */ SaleOrderHistory dbHistory = new SaleOrderHistory(); SaleOrderHistoryDetail dbHistoryDetail; foreach (DTO.SaleOrderMng.SaleOrderDetail dtoDetail in dtoItem.SaleOrderDetails) { dbHistoryDetail = new SaleOrderHistoryDetail(); AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrderDetail, SaleOrderHistoryDetail>(dtoDetail, dbHistoryDetail); dbHistory.SaleOrderHistoryDetail.Add(dbHistoryDetail); } AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrder, SaleOrderHistory>(dtoItem, dbHistory); dbItem.SaleOrderHistory.Add(dbHistory); /* * SETUP FORMATED FIELD */ if (!string.IsNullOrEmpty(dtoItem.InvoiceDateFormated)) { dtoItem.InvoiceDate = DateTime.ParseExact(dtoItem.InvoiceDateFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.InvoiceDate = null; } if (!string.IsNullOrEmpty(dtoItem.LDSFormated)) { dtoItem.LDS = DateTime.ParseExact(dtoItem.LDSFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.LDS = null; } if (!string.IsNullOrEmpty(dtoItem.DeliveryDateFormated)) { dtoItem.DeliveryDate = DateTime.ParseExact(dtoItem.DeliveryDateFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.DeliveryDate = null; } if (!string.IsNullOrEmpty(dtoItem.DeliveryDateInternalFormated)) { dtoItem.DeliveryDateInternal = DateTime.ParseExact(dtoItem.DeliveryDateInternalFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.DeliveryDateInternal = null; } if (!string.IsNullOrEmpty(dtoItem.PIReceivedDateFormated)) { dtoItem.PIReceivedDate = DateTime.ParseExact(dtoItem.PIReceivedDateFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.PIReceivedDate = null; } if (!string.IsNullOrEmpty(dtoItem.paymentDateFormated)) { dtoItem.PaymentDate = DateTime.ParseExact(dtoItem.paymentDateFormated, "d", new System.Globalization.CultureInfo("vi-VN")); } else { dtoItem.PaymentDate = null; } AutoMapper.Mapper.Map <DTO.SaleOrderMng.SaleOrder, SaleOrder>(dtoItem, dbItem); }
public DTO.SaleOrderMng.SaleOrder DB2DTO_SaleOrder(SaleOrderMng_SaleOrder_View dbItem) { DTO.SaleOrderMng.SaleOrder dtoItem = AutoMapper.Mapper.Map <SaleOrderMng_SaleOrder_View, DTO.SaleOrderMng.SaleOrder>(dbItem); /* * FORMAT FIELDS DATETIME */ if (dbItem.ConcurrencyFlag != null) { dtoItem.ConcurrencyFlag_String = Convert.ToBase64String(dbItem.ConcurrencyFlag); } if (dbItem.InvoiceDate.HasValue) { dtoItem.InvoiceDateFormated = dbItem.InvoiceDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.PIReceivedDate.HasValue) { dtoItem.PIReceivedDateFormated = dbItem.PIReceivedDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.DeliveryDate.HasValue) { dtoItem.DeliveryDateFormated = dbItem.DeliveryDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.DeliveryDateInternal.HasValue) { dtoItem.DeliveryDateInternalFormated = dbItem.DeliveryDateInternal.Value.ToString("dd/MM/yyyy"); } if (dbItem.LDS.HasValue) { dtoItem.LDSFormated = dbItem.LDS.Value.ToString("dd/MM/yyyy"); } if (dbItem.CreatedDate.HasValue) { dtoItem.CreatedDateFormated = dbItem.CreatedDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.UpdatedDate.HasValue) { dtoItem.UpdatedDateFormated = dbItem.UpdatedDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.PaymentDate.HasValue) { dtoItem.paymentDateFormated = dbItem.PaymentDate.Value.ToString("dd/MM/yyyy"); } if (dbItem.IsDPReceived == true) { dbItem.IsDPReceived = dbItem.IsDPReceived.Value == true; } else { dbItem.IsDPReceived = dbItem.IsDPReceived.Value == false; } return(dtoItem); }