Esempio n. 1
0
        public void DTO2DB_ImportFactoryBreakdown(DTO.ImportFactoryBreakdown dtoItem, ref FactoryBreakdown dbItem, int userId)
        {
            // factory breakdown

            // remark image
            foreach (FactoryBreakdownDetail dbDetail in dbItem.FactoryBreakdownDetail.ToArray())
            {
                if (!dtoItem.FactoryBreakdownDetail.Select(o => o.FactoryBreakdownID).Contains(dbDetail.FactoryBreakdownID) && !dtoItem.FactoryBreakdownDetail.Select(o => o.FactoryBreakdownCategoryID).Contains(dbDetail.FactoryBreakdownCategoryID))
                {
                    dbItem.FactoryBreakdownDetail.Remove(dbDetail);
                }
            }
            foreach (DTO.ImportFactoryBreakdownDetail dtoDetail in dtoItem.FactoryBreakdownDetail)
            {
                FactoryBreakdownDetail dbDetail;

                var factoryBreakdownDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownID == dtoDetail.FactoryBreakdownID && o.FactoryBreakdownCategoryID == dtoDetail.FactoryBreakdownCategoryID);

                if (factoryBreakdownDetail == null)
                {
                    dbDetail = new FactoryBreakdownDetail();
                    dbItem.FactoryBreakdownDetail.Add(dbDetail);
                }
                else
                {
                    dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownID == dtoDetail.FactoryBreakdownID && o.FactoryBreakdownCategoryID == dtoDetail.FactoryBreakdownCategoryID);
                }
                //if (dtoDetail.FactoryBreakdownDetailID <= 0)
                //{
                //    dbDetail = new FactoryBreakdownDetail();
                //    dbItem.FactoryBreakdownDetail.Add(dbDetail);
                //}
                //else
                //{
                //    dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownDetailID == dtoDetail.FactoryBreakdownDetailID);
                //}

                if (dbDetail != null)
                {
                    // change
                    dbDetail.Quantity = dtoDetail.Quantity;
                    dbDetail.UnitNM   = dtoDetail.UnitNM;
                    //AutoMapper.Mapper.Map<DTO.ImportFactoryBreakdownDetail, FactoryBreakdownDetail>(dtoDetail, dbDetail);
                }
            }
            // factory breakdown
            dbItem.UpdatedBy         = userId;
            dbItem.UpdatedDate       = DateTime.Now;
            dbItem.IndicatedPrice    = dtoItem.IndicatedPrice;
            dbItem.CushionDimensionH = dtoItem.CushionDimensionH;
            dbItem.CushionDimensionL = dtoItem.CushionDimensionL;
            dbItem.CushionDimensionW = dtoItem.CushionDimensionW;
            dbItem.PackingDimensionH = dtoItem.PackingDimensionH;
            dbItem.PackingDimensionL = dtoItem.PackingDimensionL;
            dbItem.PackingDimensionW = dtoItem.PackingDimensionW;
            dbItem.Remark            = dtoItem.Remark;
            dbItem.IsConfirmed       = true;
            dbItem.ConfirmedBy       = userId;
            dbItem.ConfirmedDate     = DateTime.Now;
        }
Esempio n. 2
0
        public override bool Approve(int userId, int id, ref object dtoItem, out Library.DTO.Notification notification)
        {
            notification = new Library.DTO.Notification()
            {
                Type = Library.DTO.NotificationType.Success
            };
            try
            {
                using (FactoryBreakdownMngEntities context = CreateContext())
                {
                    FactoryBreakdown dbItem = context.FactoryBreakdown.FirstOrDefault(o => o.FactoryBreakdownID == id);
                    if (dbItem == null)
                    {
                        notification.Message = "Factory breakdown not found!";
                        return(false);
                    }
                    else
                    {
                        // check data access permission
                        if (dbItem.SampleProductID.HasValue)
                        {
                            if (CheckSamplePermission(userId, dbItem.SampleProductID.Value) <= 0)
                            {
                                throw new Exception("Data access not authorized!");
                            }
                        }
                        //else
                        //{
                        //    throw new Exception("Invalid sample product data! (id null)");
                        //}

                        // validate data
                        if (!dbItem.IndicatedPrice.HasValue || dbItem.IndicatedPrice <= 0)
                        {
                            throw new Exception("Invalid indicated price!");
                        }
                        FactoryBreakdownDetail dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownCategoryID == 11); // load ability
                        if (dbDetail == null || !dbDetail.Quantity.HasValue || dbDetail.Quantity <= 0)
                        {
                            throw new Exception("Invalid load ability!");
                        }

                        dbItem.IsConfirmed   = true;
                        dbItem.ConfirmedBy   = userId;
                        dbItem.ConfirmedDate = DateTime.Now;
                        context.SaveChanges();
                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                notification = new Library.DTO.Notification()
                {
                    Message = ex.Message, Type = Library.DTO.NotificationType.Error
                };
                return(false);
            }
        }
Esempio n. 3
0
        public void DTO2DB_FactoryBreakdown(DTO.FactoryBreakdownDTO dtoItem, ref FactoryBreakdown dbItem, int userId)
        {
            // factory breakdown
            dbItem.UpdatedBy   = userId;
            dbItem.UpdatedDate = DateTime.Now;

            // remark image
            foreach (FactoryBreakdownDetail dbDetail in dbItem.FactoryBreakdownDetail.ToArray())
            {
                if (!dtoItem.FactoryBreakdownDetailDTOs.Select(o => o.FactoryBreakdownDetailID).Contains(dbDetail.FactoryBreakdownDetailID))
                {
                    dbItem.FactoryBreakdownDetail.Remove(dbDetail);
                }
            }
            foreach (DTO.FactoryBreakdownDetailDTO dtoDetail in dtoItem.FactoryBreakdownDetailDTOs)
            {
                FactoryBreakdownDetail dbDetail;
                if (dtoDetail.FactoryBreakdownDetailID <= 0)
                {
                    dbDetail = new FactoryBreakdownDetail();
                    dbItem.FactoryBreakdownDetail.Add(dbDetail);
                }
                else
                {
                    dbDetail = dbItem.FactoryBreakdownDetail.FirstOrDefault(o => o.FactoryBreakdownDetailID == dtoDetail.FactoryBreakdownDetailID);
                }

                if (dbDetail != null)
                {
                    // change
                    AutoMapper.Mapper.Map <DTO.FactoryBreakdownDetailDTO, FactoryBreakdownDetail>(dtoDetail, dbDetail);
                }
            }

            // remark image
            foreach (FactoryBreakdownModel dbModel in dbItem.FactoryBreakdownModel.ToArray())
            {
                if (!dtoItem.FactoryBreakdownModels.Select(o => o.FactoryBreakdownModelID).Contains(dbModel.FactoryBreakdownModelID))
                {
                    dbItem.FactoryBreakdownModel.Remove(dbModel);
                }
            }
            foreach (DTO.FactoryBreakdownModelDTO dtoModel in dtoItem.FactoryBreakdownModels)
            {
                FactoryBreakdownModel dbModel;
                if (dtoModel.FactoryBreakdownModelID <= 0)
                {
                    dbModel = new FactoryBreakdownModel();
                    dbItem.FactoryBreakdownModel.Add(dbModel);
                }
                else
                {
                    dbModel = dbItem.FactoryBreakdownModel.FirstOrDefault(o => o.FactoryBreakdownModelID == dtoModel.FactoryBreakdownModelID);
                }

                if (dbModel != null)
                {
                    // change
                    AutoMapper.Mapper.Map <DTO.FactoryBreakdownModelDTO, FactoryBreakdownModel>(dtoModel, dbModel);
                }
            }

            // change
            AutoMapper.Mapper.Map <DTO.FactoryBreakdownDTO, FactoryBreakdown>(dtoItem, dbItem);
        }