예제 #1
0
        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
            }));
        }
예제 #2
0
 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
     }));
 }
예제 #3
0
 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
     }));
 }
예제 #4
0
        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;
            }
        }
예제 #5
0
 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);
 }