Ejemplo n.º 1
0
        protected GarmentDraftPackingListItemModel MapToModel(GarmentDraftPackingListItemViewModel viewModel)
        {
            var details = (viewModel.Details ?? new List <GarmentDraftPackingListDetailViewModel>()).Select(d =>
            {
                var sizes = (d.Sizes ?? new List <GarmentDraftPackingListDetailSizeViewModel>()).Select(s =>
                {
                    s.Size = s.Size ?? new SizeViewModel();
                    return(new GarmentDraftPackingListDetailSizeModel(s.Size.Id, s.Size.Size, s.Quantity)
                    {
                        Id = s.Id
                    });
                }).ToList();

                return(new GarmentDraftPackingListDetailModel(d.Carton1, d.Carton2, d.Style, d.Colour, d.CartonQuantity, d.QuantityPCS, d.TotalQuantity, d.Length, d.Width, d.Height, d.GrossWeight, d.NetWeight, d.NetNetWeight, sizes, d.Index)
                {
                    Id = d.Id
                });
            }).ToList();

            viewModel.BuyerBrand = viewModel.BuyerBrand ?? new Buyer();
            viewModel.Uom        = viewModel.Uom ?? new UnitOfMeasurement();
            viewModel.Unit       = viewModel.Unit ?? new Unit();
            viewModel.Comodity   = viewModel.Comodity ?? new Comodity();
            viewModel.Buyer      = viewModel.Buyer ?? new Buyer();
            viewModel.Section    = viewModel.Section ?? new Section();
            GarmentDraftPackingListItemModel GarmentDraftPackingListItemModel = new GarmentDraftPackingListItemModel(viewModel.RONo, viewModel.SCNo, viewModel.BuyerBrand.Id, viewModel.BuyerBrand.Name, viewModel.Comodity.Id, viewModel.Comodity.Code, viewModel.Comodity.Name, viewModel.ComodityDescription, viewModel.Quantity, viewModel.Uom.Id.GetValueOrDefault(), viewModel.Uom.Unit, viewModel.PriceRO, viewModel.Price, viewModel.PriceFOB, viewModel.PriceCMT, viewModel.Amount, viewModel.Valas, viewModel.Unit.Id, viewModel.Unit.Code, viewModel.Article, viewModel.OrderNo, viewModel.Description, viewModel.DescriptionMd, viewModel.Buyer.Id, viewModel.Buyer.Code, viewModel.Section.Code, details, viewModel.Remarks);

            return(GarmentDraftPackingListItemModel);
        }
Ejemplo n.º 2
0
        public async Task <int> Update(int id, GarmentDraftPackingListItemViewModel viewModel)
        {
            GarmentDraftPackingListItemModel draftItemModel = MapToModel(viewModel);

            foreach (var detail in draftItemModel.Details)
            {
                detail.SetNetNetWeight(detail.NetNetWeight == 0 ? 0.9 * detail.NetWeight : detail.NetNetWeight, _identityProvider.Username, UserAgent);
            }

            return(await _draftPackingListItemRepository.UpdateAsync(id, draftItemModel));
        }
        public Task <int> InsertAsync(GarmentDraftPackingListItemModel model)
        {
            model.FlagForCreate(_identityProvider.Username, UserAgent);
            foreach (var detail in model.Details)
            {
                detail.FlagForCreate(_identityProvider.Username, UserAgent);
                foreach (var size in detail.Sizes)
                {
                    size.FlagForCreate(_identityProvider.Username, UserAgent);
                }
            }

            _dbSet.Add(model);

            return(_dbContext.SaveChangesAsync());
        }
        public void Read_Success()
        {
            var model = new GarmentDraftPackingListItemModel("", "", 1, "", 1, "", "", "", 1, 1, "", 1, 1, 1, 1, 1, "", 1, "", "", "", "", "", 1, "", "", new List <GarmentDraftPackingListDetailModel>(), "");

            var repoMock = new Mock <IGarmentDraftPackingListItemRepository>();

            repoMock.Setup(s => s.ReadAll())
            .Returns(new List <GarmentDraftPackingListItemModel>()
            {
                model
            }.AsQueryable());

            var service = GetService(GetServiceProvider(repoMock.Object).Object);

            var result = service.Read(1, 25, "{}", "{}", "");

            Assert.NotEmpty(result.Data);
        }
Ejemplo n.º 5
0
        public async Task <int> Create(List <GarmentDraftPackingListItemViewModel> viewModels)
        {
            int Created = viewModels.Count();
            int count   = 0;

            foreach (var viewModel in viewModels)
            {
                GarmentDraftPackingListItemModel draftItemModel = MapToModel(viewModel);
                if (draftItemModel.Details.Count() > 0)
                {
                    foreach (var detail in draftItemModel.Details)
                    {
                        detail.SetNetNetWeight(detail.NetNetWeight == 0 ? 0.9 * detail.NetWeight : detail.NetNetWeight, _identityProvider.Username, UserAgent);
                    }
                }
                count += await _draftPackingListItemRepository.InsertAsync(draftItemModel);
            }
            Created = Created == count ? 1 : 0;

            return(Created);
        }
        public async Task ReadById_Success()
        {
            var sizes = new HashSet <GarmentDraftPackingListDetailSizeModel> {
                new GarmentDraftPackingListDetailSizeModel(1, "", 1)
            };
            var details = new HashSet <GarmentDraftPackingListDetailModel> {
                new GarmentDraftPackingListDetailModel(1, 1, "", "", 1, 1, 1, 1, 1, 1, 1, 1, 1, sizes, 1)
            };
            var model = new GarmentDraftPackingListItemModel("", "", 1, "", 1, "", "", "", 1, 1, "", 1, 1, 1, 1, 1, "", 1, "", "", "", "", "", 1, "", "", details, "");

            var repoMock = new Mock <IGarmentDraftPackingListItemRepository>();

            repoMock.Setup(s => s.ReadByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(model);

            var serviceProviderMock = GetServiceProvider(repoMock.Object);
            var service             = GetService(serviceProviderMock.Object);

            var result = await service.ReadById(1);

            Assert.NotNull(result);
        }
Ejemplo n.º 7
0
        protected GarmentDraftPackingListItemViewModel MapToViewModel(GarmentDraftPackingListItemModel model)
        {
            var vm = new GarmentDraftPackingListItemViewModel()
            {
                Active            = model.Active,
                Id                = model.Id,
                CreatedAgent      = model.CreatedAgent,
                CreatedBy         = model.CreatedBy,
                CreatedUtc        = model.CreatedUtc,
                DeletedAgent      = model.DeletedAgent,
                DeletedBy         = model.DeletedBy,
                DeletedUtc        = model.DeletedUtc,
                IsDeleted         = model.IsDeleted,
                LastModifiedAgent = model.LastModifiedAgent,
                LastModifiedBy    = model.LastModifiedBy,
                LastModifiedUtc   = model.LastModifiedUtc,

                RONo       = model.RONo,
                SCNo       = model.SCNo,
                BuyerBrand = new Buyer
                {
                    Id   = model.BuyerBrandId,
                    Name = model.BuyerBrandName
                },
                Comodity = new Comodity
                {
                    Id   = model.ComodityId,
                    Code = model.ComodityCode,
                    Name = model.ComodityName
                },
                ComodityDescription = model.ComodityDescription,
                Quantity            = model.Quantity,
                Uom = new UnitOfMeasurement
                {
                    Id   = model.UomId,
                    Unit = model.UomUnit
                },
                PriceRO  = model.PriceRO,
                Price    = model.Price,
                PriceFOB = model.PriceFOB,
                PriceCMT = model.PriceCMT,
                Amount   = model.Amount,
                Valas    = model.Valas,
                Unit     = new Unit
                {
                    Id   = model.UnitId,
                    Code = model.UnitCode
                },
                Article       = model.Article,
                OrderNo       = model.OrderNo,
                Description   = model.Description,
                DescriptionMd = model.DescriptionMd,
                Section       = new Section
                {
                    Code = model.SectionCode
                },
                Buyer = new Buyer
                {
                    Id   = model.BuyerId,
                    Code = model.BuyerCode
                },
                Remarks = model.Remarks,

                Details = (model.Details ?? new List <GarmentDraftPackingListDetailModel>()).Select(d => new GarmentDraftPackingListDetailViewModel
                {
                    Active            = d.Active,
                    Id                = d.Id,
                    CreatedAgent      = d.CreatedAgent,
                    CreatedBy         = d.CreatedBy,
                    CreatedUtc        = d.CreatedUtc,
                    DeletedAgent      = d.DeletedAgent,
                    DeletedBy         = d.DeletedBy,
                    DeletedUtc        = d.DeletedUtc,
                    IsDeleted         = d.IsDeleted,
                    LastModifiedAgent = d.LastModifiedAgent,
                    LastModifiedBy    = d.LastModifiedBy,
                    LastModifiedUtc   = d.LastModifiedUtc,

                    PackingListItemId = d.PackingListItemId,
                    Carton1           = d.Carton1,
                    Carton2           = d.Carton2,
                    Style             = d.Style,
                    Colour            = d.Colour,
                    CartonQuantity    = d.CartonQuantity,
                    QuantityPCS       = d.QuantityPCS,
                    TotalQuantity     = d.TotalQuantity,

                    Length = d.Length,
                    Width  = d.Width,
                    Height = d.Height,

                    GrossWeight  = d.GrossWeight,
                    NetWeight    = d.NetWeight,
                    NetNetWeight = d.NetNetWeight,

                    Index = d.Index,

                    Sizes = (d.Sizes ?? new List <GarmentDraftPackingListDetailSizeModel>()).Select(s => new GarmentDraftPackingListDetailSizeViewModel
                    {
                        Active            = s.Active,
                        Id                = s.Id,
                        CreatedAgent      = s.CreatedAgent,
                        CreatedBy         = s.CreatedBy,
                        CreatedUtc        = s.CreatedUtc,
                        DeletedAgent      = s.DeletedAgent,
                        DeletedBy         = s.DeletedBy,
                        DeletedUtc        = s.DeletedUtc,
                        IsDeleted         = s.IsDeleted,
                        LastModifiedAgent = s.LastModifiedAgent,
                        LastModifiedBy    = s.LastModifiedBy,
                        LastModifiedUtc   = s.LastModifiedUtc,

                        Size = new SizeViewModel
                        {
                            Id   = s.SizeId,
                            Size = s.Size
                        },
                        Quantity = s.Quantity
                    }).ToList()
                }).ToList(),
            };

            return(vm);
        }
        public Task <int> UpdateAsync(int id, GarmentDraftPackingListItemModel item)
        {
            var itemToUpdate = _dbSet.Include(i => i.Details)
                               .ThenInclude(i => i.Sizes)
                               .FirstOrDefault(s => s.Id == id);

            itemToUpdate.SetRONo(item.RONo, _identityProvider.Username, UserAgent);
            itemToUpdate.SetSCNo(item.SCNo, _identityProvider.Username, UserAgent);
            itemToUpdate.SetBuyerBrandId(item.BuyerBrandId, _identityProvider.Username, UserAgent);
            itemToUpdate.SetBuyerBrandName(item.BuyerBrandName, _identityProvider.Username, UserAgent);
            itemToUpdate.SetComodityId(item.ComodityId, _identityProvider.Username, UserAgent);
            itemToUpdate.SetComodityCode(item.ComodityCode, _identityProvider.Username, UserAgent);
            itemToUpdate.SetComodityName(item.ComodityName, _identityProvider.Username, UserAgent);
            itemToUpdate.SetComodityDescription(item.ComodityDescription, _identityProvider.Username, UserAgent);
            itemToUpdate.SetQuantity(item.Quantity, _identityProvider.Username, UserAgent);
            itemToUpdate.SetUomId(item.UomId, _identityProvider.Username, UserAgent);
            itemToUpdate.SetUomUnit(item.UomUnit, _identityProvider.Username, UserAgent);
            itemToUpdate.SetPriceRO(item.PriceRO, _identityProvider.Username, UserAgent);
            itemToUpdate.SetPrice(item.Price, _identityProvider.Username, UserAgent);
            itemToUpdate.SetPriceFob(item.PriceFOB, _identityProvider.Username, UserAgent);
            itemToUpdate.SetPriceCmt(item.PriceCMT, _identityProvider.Username, UserAgent);
            itemToUpdate.SetAmount(item.Amount, _identityProvider.Username, UserAgent);
            itemToUpdate.SetValas(item.Valas, _identityProvider.Username, UserAgent);
            itemToUpdate.SetUnitId(item.UnitId, _identityProvider.Username, UserAgent);
            itemToUpdate.SetUnitCode(item.UnitCode, _identityProvider.Username, UserAgent);
            itemToUpdate.SetArticle(item.Article, _identityProvider.Username, UserAgent);
            itemToUpdate.SetOrderNo(item.OrderNo, _identityProvider.Username, UserAgent);
            itemToUpdate.SetDescription(item.Description, _identityProvider.Username, UserAgent);
            itemToUpdate.SetDescriptionMd(item.DescriptionMd, _identityProvider.Username, UserAgent);
            itemToUpdate.SetRemarks(item.Remarks, _identityProvider.Username, UserAgent);

            foreach (var detailToUpdate in itemToUpdate.Details)
            {
                var detail = item.Details.FirstOrDefault(d => d.Id == detailToUpdate.Id);
                if (detail != null)
                {
                    detailToUpdate.SetCarton1(detail.Carton1, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetCarton2(detail.Carton2, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetColour(detail.Colour, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetStyle(detail.Style, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetCartonQuantity(detail.CartonQuantity, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetQuantityPCS(detail.QuantityPCS, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetTotalQuantity(detail.TotalQuantity, _identityProvider.Username, UserAgent);

                    detailToUpdate.SetLength(detail.Length, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetWidth(detail.Width, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetHeight(detail.Height, _identityProvider.Username, UserAgent);

                    detailToUpdate.SetGrossWeight(detail.GrossWeight, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetNetWeight(detail.NetWeight, _identityProvider.Username, UserAgent);
                    detailToUpdate.SetNetNetWeight(detail.NetNetWeight, _identityProvider.Username, UserAgent);

                    detailToUpdate.SetIndex(detail.Index, _identityProvider.Username, UserAgent);

                    foreach (var sizeToUpdate in detailToUpdate.Sizes)
                    {
                        var size = detail.Sizes.FirstOrDefault(s => s.Id == sizeToUpdate.Id);
                        if (size != null)
                        {
                            sizeToUpdate.SetSizeId(size.SizeId, _identityProvider.Username, UserAgent);
                            sizeToUpdate.SetSize(size.Size, _identityProvider.Username, UserAgent);
                            sizeToUpdate.SetQuantity(size.Quantity, _identityProvider.Username, UserAgent);
                        }
                        else
                        {
                            sizeToUpdate.FlagForDelete(_identityProvider.Username, UserAgent);
                        }
                    }

                    foreach (var size in detail.Sizes.Where(w => w.Id == 0))
                    {
                        size.FlagForCreate(_identityProvider.Username, UserAgent);
                        detailToUpdate.Sizes.Add(size);
                    }
                }
                else
                {
                    detailToUpdate.FlagForDelete(_identityProvider.Username, UserAgent);
                }
            }

            foreach (var detail in item.Details.Where(w => w.Id == 0))
            {
                detail.FlagForCreate(_identityProvider.Username, UserAgent);
                foreach (var size in detail.Sizes)
                {
                    size.FlagForCreate(_identityProvider.Username, UserAgent);
                }
                itemToUpdate.Details.Add(detail);
            }

            return(_dbContext.SaveChangesAsync());
        }