Esempio n. 1
0
        public DTO.WarehouseCIMng.WarehouseCI DB2DTO_WarehouseCI(WarehouseCIMng_WarehouseCI_View dbItem)
        {
            DTO.WarehouseCIMng.WarehouseCI dtoItem = AutoMapper.Mapper.Map <WarehouseCIMng_WarehouseCI_View, DTO.WarehouseCIMng.WarehouseCI>(dbItem);

            /*
             *  FORMAT FIELDS DATETIME
             */
            if (dbItem.ConcurrencyFlag != null)
            {
                dtoItem.ConcurrencyFlag_String = Convert.ToBase64String(dbItem.ConcurrencyFlag);
            }

            if (dbItem.IssuedDate.HasValue)
            {
                dtoItem.IssuedDateFormated = dbItem.IssuedDate.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");
            }

            return(dtoItem);
        }
        public IHttpActionResult Update(int id, DTO.WarehouseCIMng.WarehouseCI 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.WarehouseCIMng.WarehouseCI>(dtoItem, out notification))
            {
                return(Ok(new Library.DTO.ReturnData <DTO.WarehouseCIMng.WarehouseCI>()
                {
                    Data = dtoItem, Message = notification
                }));
            }

            // continue processing
            BLL.WarehouseCIMng bll = new BLL.WarehouseCIMng();
            bll.UpdateData(id, ref dtoItem, ControllerContext.GetAuthUserId(), out notification);

            if (notification.Type == Library.DTO.NotificationType.Error)
            {
                return(InternalServerError(new Exception(notification.Message)));
            }
            return(Ok(new Library.DTO.ReturnData <DTO.WarehouseCIMng.WarehouseCI>()
            {
                Data = dtoItem, Message = notification
            }));
        }
Esempio n. 3
0
        public void DTO2DB_WarehouseCI(DTO.WarehouseCIMng.WarehouseCI dtoItem, ref WarehouseCI dbItem)
        {
            /*
             * MAP & CHECK WarehouseCIDetail DELETED
             */
            List <WarehouseCIDetail> ItemNeedDelete_Detail = new List <WarehouseCIDetail>();

            if (dtoItem.WarehouseCIDetails != null)
            {
                //CHECK
                foreach (WarehouseCIDetail dbDetail in dbItem.WarehouseCIDetail.Where(o => !dtoItem.WarehouseCIDetails.Select(s => s.WarehouseCIDetailID).Contains(o.WarehouseCIDetailID)))
                {
                    ItemNeedDelete_Detail.Add(dbDetail);
                }
                foreach (WarehouseCIDetail dbDetail in ItemNeedDelete_Detail)
                {
                    dbItem.WarehouseCIDetail.Remove(dbDetail);
                }
                //MAP
                foreach (DTO.WarehouseCIMng.WarehouseCIDetail dtoDetail in dtoItem.WarehouseCIDetails)
                {
                    WarehouseCIDetail dbDetail;
                    if (dtoDetail.WarehouseCIDetailID < 0)
                    {
                        dbDetail = new WarehouseCIDetail();
                        dbItem.WarehouseCIDetail.Add(dbDetail);
                    }
                    else
                    {
                        dbDetail = dbItem.WarehouseCIDetail.FirstOrDefault(o => o.WarehouseCIDetailID == dtoDetail.WarehouseCIDetailID);
                    }

                    if (dbDetail != null)
                    {
                        AutoMapper.Mapper.Map <DTO.WarehouseCIMng.WarehouseCIDetail, WarehouseCIDetail>(dtoDetail, dbDetail);
                    }
                }
            }

            /*
             * MAP & CHECK WarehouseCIExtDetail DELETED
             */
            List <WarehouseCIExtDetail> ItemNeedDelete_ExtDetail = new List <WarehouseCIExtDetail>();

            if (dtoItem.WarehouseCIExtDetails != null)
            {
                //CHECK
                foreach (WarehouseCIExtDetail dbDetail in dbItem.WarehouseCIExtDetail.Where(o => !dtoItem.WarehouseCIExtDetails.Select(s => s.WarehouseCIExtDetailID).Contains(o.WarehouseCIExtDetailID)))
                {
                    ItemNeedDelete_ExtDetail.Add(dbDetail);
                }
                foreach (WarehouseCIExtDetail dbDetail in ItemNeedDelete_ExtDetail)
                {
                    dbItem.WarehouseCIExtDetail.Remove(dbDetail);
                }
                //MAP
                foreach (DTO.WarehouseCIMng.WarehouseCIExtDetail dtoDetail in dtoItem.WarehouseCIExtDetails)
                {
                    WarehouseCIExtDetail dbDetail;
                    if (dtoDetail.WarehouseCIExtDetailID < 0)
                    {
                        dbDetail = new WarehouseCIExtDetail();
                        dbItem.WarehouseCIExtDetail.Add(dbDetail);
                    }
                    else
                    {
                        dbDetail = dbItem.WarehouseCIExtDetail.FirstOrDefault(o => o.WarehouseCIExtDetailID == dtoDetail.WarehouseCIExtDetailID);
                    }

                    if (dbDetail != null)
                    {
                        AutoMapper.Mapper.Map <DTO.WarehouseCIMng.WarehouseCIExtDetail, WarehouseCIExtDetail>(dtoDetail, dbDetail);
                    }
                }
            }


            if (!string.IsNullOrEmpty(dtoItem.IssuedDateFormated))
            {
                dtoItem.IssuedDate = DateTime.ParseExact(dtoItem.IssuedDateFormated, "d", new System.Globalization.CultureInfo("vi-VN"));
            }

            AutoMapper.Mapper.Map <DTO.WarehouseCIMng.WarehouseCI, WarehouseCI>(dtoItem, dbItem);
        }