public IHttpActionResult Update(int id, DTO.PurchasingInvoiceMng.PurchasingInvoice 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)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } else if (id == 0 && !fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanCreate)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } // validation if (!Helper.CommonHelper.ValidateDTO <DTO.PurchasingInvoiceMng.PurchasingInvoice>(dtoItem, out notification)) { return(Ok(new Library.DTO.ReturnData <DTO.PurchasingInvoiceMng.PurchasingInvoice>() { Data = dtoItem, Message = notification })); } // save data BLL.PurchasingInvoiceMng bll = new BLL.PurchasingInvoiceMng(); bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification); return(Ok(new Library.DTO.ReturnData <DTO.PurchasingInvoiceMng.PurchasingInvoice>() { Data = dtoItem, Message = notification })); }
public IHttpActionResult SetConfirmPrice(int purchasingInvoiceID, DTO.PurchasingInvoiceMng.PurchasingInvoice dtoItem, bool isConfirmedPrice) { Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanApprove)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } BLL.PurchasingInvoiceMng bll = new BLL.PurchasingInvoiceMng(); Library.DTO.Notification notification; bll.SetConfirmPrice(ControllerContext.GetAuthUserId(), purchasingInvoiceID, dtoItem, isConfirmedPrice, out notification); return(Ok(new Library.DTO.ReturnData <int>() { Data = purchasingInvoiceID, Message = notification })); }
public IHttpActionResult Get(int id, int invoiceType, int bookingID, int supplierID, int parentID) { // authentication Module.Framework.BLL fwBll = new Module.Framework.BLL(); if (!fwBll.CanPerformAction(ControllerContext.GetAuthUserId(), moduleCode, Library.DTO.ModuleAction.CanRead)) { return(InternalServerError(new Exception(Properties.Resources.NOT_AUTHORIZED))); } BLL.PurchasingInvoiceMng bll = new BLL.PurchasingInvoiceMng(); Library.DTO.Notification notification; DTO.PurchasingInvoiceMng.PurchasingInvoice data = bll.GetEditData(ControllerContext.GetAuthUserId(), id, invoiceType, bookingID, supplierID, parentID, out notification); return(Ok(new Library.DTO.ReturnData <DTO.PurchasingInvoiceMng.PurchasingInvoice>() { Data = data, Message = notification })); }
public void DTO2DB_PurchasingInvoice(int iRequesterID, PurchasingInvoiceMng_Booking_View dbBooking, DTO.PurchasingInvoiceMng.PurchasingInvoice dtoItem, ref PurchasingInvoice dbItem) { Module.Framework.DAL.DataFactory fwFactory = new Module.Framework.DAL.DataFactory(); //int userOfficeID = fwFactory.GetUserOffice(iRequesterID); int[] internalCompanyID = new int[] { 1, 2, 3 }; int userOfficeID = 1; if (!internalCompanyID.ToList().Contains(fwFactory.GetCompanyID(iRequesterID).Value)) // 1, 2, 3 = AVF, AVS, AVT { userOfficeID = 4; // fake the office id equal to 4, backward compatible } //Purchasing Invoice Detail if (dtoItem.PurchasingInvoiceDetails != null) { //CHECK foreach (var item in dbItem.PurchasingInvoiceDetail.ToArray()) { if (!dtoItem.PurchasingInvoiceDetails.Select(s => s.PurchasingInvoiceDetailID).Contains(item.PurchasingInvoiceDetailID)) { dbItem.PurchasingInvoiceDetail.Remove(item); } } //MAP foreach (var dtoDetail in dtoItem.PurchasingInvoiceDetails) { PurchasingInvoiceDetail dbDetail; if (dtoDetail.PurchasingInvoiceDetailID < 0) { dbDetail = new PurchasingInvoiceDetail(); dbDetail.UnitPrice = dbBooking.PurchasingInvoiceMng_LoadingPlanDetail_View.Where(o => o.LoadingPlanDetailID == dtoDetail.LoadingPlanDetailID).FirstOrDefault().UnitPrice; dbItem.PurchasingInvoiceDetail.Add(dbDetail); } else { dbDetail = dbItem.PurchasingInvoiceDetail.FirstOrDefault(o => o.PurchasingInvoiceDetailID == dtoDetail.PurchasingInvoiceDetailID); if (userOfficeID != 4) { dbDetail.UnitPrice = dtoDetail.UnitPrice; } } if (dbDetail != null) { AutoMapper.Mapper.Map <DTO.PurchasingInvoiceMng.PurchasingInvoiceDetail, PurchasingInvoiceDetail>(dtoDetail, dbDetail); } } } //Purchasing Invoice Sparepart Detail if (dtoItem.PurchasingInvoiceSparepartDetails != null) { //CHECK foreach (var item in dbItem.PurchasingInvoiceSparepartDetail.ToArray()) { if (!dtoItem.PurchasingInvoiceSparepartDetails.Select(s => s.PurchasingInvoiceSparepartDetailID).Contains(item.PurchasingInvoiceSparepartDetailID)) { dbItem.PurchasingInvoiceSparepartDetail.Remove(item); } } //MAP foreach (var dtoDetail in dtoItem.PurchasingInvoiceSparepartDetails) { PurchasingInvoiceSparepartDetail dbDetail; if (dtoDetail.PurchasingInvoiceSparepartDetailID < 0) { dbDetail = new PurchasingInvoiceSparepartDetail(); dbDetail.UnitPrice = dbBooking.PurchasingInvoiceMng_LoadingPlanSparepartDetail_View.Where(o => o.LoadingPlanSparepartDetailID == dtoDetail.LoadingPlanSparepartDetailID).FirstOrDefault().UnitPrice; dbItem.PurchasingInvoiceSparepartDetail.Add(dbDetail); } else { dbDetail = dbItem.PurchasingInvoiceSparepartDetail.FirstOrDefault(o => o.PurchasingInvoiceSparepartDetailID == dtoDetail.PurchasingInvoiceSparepartDetailID); if (userOfficeID != 4) { dbDetail.UnitPrice = dtoDetail.UnitPrice; } } if (dbDetail != null) { AutoMapper.Mapper.Map <DTO.PurchasingInvoiceMng.PurchasingInvoiceSparepartDetail, PurchasingInvoiceSparepartDetail>(dtoDetail, dbDetail); } } } //Purchasing Invoice Sparepart Detail if (dtoItem.PurchasingInvoiceExtraDetails != null) { //CHECK foreach (var item in dbItem.PurchasingInvoiceExtraDetail.ToArray()) { if (!dtoItem.PurchasingInvoiceExtraDetails.Select(s => s.PurchasingInvoiceExtraDetailID).Contains(item.PurchasingInvoiceExtraDetailID)) { dbItem.PurchasingInvoiceExtraDetail.Remove(item); } } //MAP foreach (var dtoDetail in dtoItem.PurchasingInvoiceExtraDetails) { PurchasingInvoiceExtraDetail dbDetail; if (dtoDetail.PurchasingInvoiceExtraDetailID < 0) { dbDetail = new PurchasingInvoiceExtraDetail(); dbItem.PurchasingInvoiceExtraDetail.Add(dbDetail); } else { dbDetail = dbItem.PurchasingInvoiceExtraDetail.FirstOrDefault(o => o.PurchasingInvoiceExtraDetailID == dtoDetail.PurchasingInvoiceExtraDetailID); } if (dbDetail != null) { AutoMapper.Mapper.Map <DTO.PurchasingInvoiceMng.PurchasingInvoiceExtraDetail, PurchasingInvoiceExtraDetail>(dtoDetail, dbDetail); } } } //Purchasing Invoice Sample Detail if (dtoItem.PurchasingInvoiceSampleDetails != null) { //CHECK foreach (var item in dbItem.PurchasingInvoiceSampleDetail.ToArray()) { if (!dtoItem.PurchasingInvoiceSampleDetails.Select(s => s.PurchasingInvoiceSampleDetailID).Contains(item.PurchasingInvoiceSampleDetailID)) { dbItem.PurchasingInvoiceSampleDetail.Remove(item); } } //MAP foreach (var dtoDetail in dtoItem.PurchasingInvoiceSampleDetails) { PurchasingInvoiceSampleDetail dbDetail; if (dtoDetail.PurchasingInvoiceSampleDetailID < 0) { dbDetail = new PurchasingInvoiceSampleDetail(); dbDetail.UnitPrice = dbBooking.PurchasingInvoiceMng_LoadingPlanSampleDetail_View.Where(o => o.LoadingPlanSampleDetailID == dtoDetail.LoadingPlanSampleDetailID).FirstOrDefault().UnitPrice; dbItem.PurchasingInvoiceSampleDetail.Add(dbDetail); } else { dbDetail = dbItem.PurchasingInvoiceSampleDetail.FirstOrDefault(o => o.PurchasingInvoiceSampleDetailID == dtoDetail.PurchasingInvoiceSampleDetailID); if (userOfficeID != 4) { dbDetail.UnitPrice = dtoDetail.UnitPrice; } } if (dbDetail != null) { AutoMapper.Mapper.Map <DTO.PurchasingInvoiceMng.PurchasingInvoiceSampleDetail, PurchasingInvoiceSampleDetail>(dtoDetail, dbDetail); } } } //Purchasing Invoice AutoMapper.Mapper.Map <DTO.PurchasingInvoiceMng.PurchasingInvoice, PurchasingInvoice>(dtoItem, dbItem); if (dtoItem.PurchasingInvoiceID > 0) { dbItem.UpdatedDate = DateTime.Now; dbItem.UpdatedBy = dtoItem.UpdatedBy; } else { dbItem.CreatedDate = DateTime.Now; dbItem.CreatedBy = dtoItem.UpdatedBy; } dbItem.InvoiceDate = dtoItem.InvoiceDate.ConvertStringToDateTime(); if (dbItem.SupplierID == 336037) { dbItem.FactoryRawMaterialID = 250; } }
public DTO.PurchasingInvoiceMng.PurchasingInvoice DB2DTO_PurchasingInvoice(PurchasingInvoiceMng_PurchasingInvoice_View dbItem) { DTO.PurchasingInvoiceMng.PurchasingInvoice dtoItem = AutoMapper.Mapper.Map <PurchasingInvoiceMng_PurchasingInvoice_View, DTO.PurchasingInvoiceMng.PurchasingInvoice>(dbItem); return(dtoItem); }