Ejemplo n.º 1
0
        public Task <int> InsertAsync(GarmentShippingCoverLetterModel model)
        {
            model.FlagForCreate(_identityProvider.Username, UserAgent);
            _dbSet.Add(model);

            return(_dbContext.SaveChangesAsync());
        }
Ejemplo n.º 2
0
        public async Task <int> Update(int id, GarmentCoverLetterViewModel viewModel)
        {
            viewModel.order         = viewModel.order ?? new Buyer();
            viewModel.forwarder     = viewModel.forwarder ?? new Forwarder();
            viewModel.shippingStaff = viewModel.shippingStaff ?? new ShippingStaff();
            viewModel.emkl          = viewModel.emkl ?? new EMKL();
            GarmentShippingCoverLetterModel model = new GarmentShippingCoverLetterModel(viewModel.packingListId, viewModel.invoiceId, viewModel.invoiceNo, viewModel.date.GetValueOrDefault(), viewModel.emkl.Id, viewModel.emkl.Code, viewModel.emkl.Name, viewModel.destination, viewModel.address, viewModel.pic, viewModel.attn, viewModel.phone, viewModel.bookingDate.GetValueOrDefault(), viewModel.order.Id, viewModel.order.Code, viewModel.order.Name, viewModel.pcsQuantity, viewModel.setsQuantity, viewModel.packQuantity, viewModel.cartoonQuantity, viewModel.forwarder.id, viewModel.forwarder.code, viewModel.forwarder.name, viewModel.truck, viewModel.plateNumber, viewModel.driver, viewModel.containerNo, viewModel.freight, viewModel.shippingSeal, viewModel.dlSeal, viewModel.emklSeal, viewModel.exportEstimationDate.GetValueOrDefault(), viewModel.unit, viewModel.shippingStaff.id, viewModel.shippingStaff.name);

            return(await _repository.UpdateAsync(id, model));
        }
Ejemplo n.º 3
0
        public async Task ReadById_Success()
        {
            var model = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "");

            var repoMock = new Mock <IGarmentCoverLetterRepository>();

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

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

            var result = await service.ReadById(1);

            Assert.NotNull(result);
        }
Ejemplo n.º 4
0
        public void Read_Success()
        {
            var model = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "");

            var repoMock = new Mock <IGarmentCoverLetterRepository>();

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

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

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

            Assert.NotEmpty(result.Data);
        }
Ejemplo n.º 5
0
        public async Task Delete_NoStatus_Success()
        {
            var model = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "")
            {
                Id = 1
            };

            var repoMock = new Mock <IGarmentCoverLetterRepository>();

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

            var packingListData = new GarmentPackingListModel()
            {
                Id = model.Id
            };

            packingListData.StatusActivities.Add(new GarmentPackingListStatusActivityModel("", "", GarmentPackingListStatusEnum.APPROVED_SHIPPING));

            var repoPackingListMock = new Mock <IGarmentPackingListRepository>();

            repoPackingListMock.Setup(s => s.Query)
            .Returns(new List <GarmentPackingListModel>
            {
                packingListData
            }.AsQueryable());

            var spMock = GetServiceProvider(repoMock.Object);

            spMock.Setup(s => s.GetService(typeof(IGarmentPackingListRepository)))
            .Returns(repoPackingListMock.Object);
            spMock.Setup(s => s.GetService(typeof(IIdentityProvider)))
            .Returns(new IdentityProvider());

            var service = GetService(spMock.Object);

            var result = await service.Delete(1);

            Assert.NotEqual(0, result);
        }
Ejemplo n.º 6
0
        public void GenerateExcel_Success()
        {
            var model = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "EMKL", " EMKL Test", "", "", "", "", "", DateTimeOffset.Now, 1, "X01", "Order Test", 1, 1, 1, 1, 1, "FWDR", "FWDR Test", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "")
            {
                Id = 1
            };

            var repoMock = new Mock <IGarmentCoverLetterRepository>();

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

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

            var result = service.GenerateExcel(model.OrderCode, model.EMKLCode, DateTime.MinValue, DateTime.MaxValue, 7);

            Assert.NotNull(result);
        }
Ejemplo n.º 7
0
        public async Task <int> UpdateAsync(int id, GarmentShippingCoverLetterModel model)
        {
            var modelToUpdate = _dbSet.First(s => s.Id == id);

            modelToUpdate.SetDate(model.Date, _identityProvider.Username, UserAgent);
            modelToUpdate.SetEMKLId(model.EMKLId, _identityProvider.Username, UserAgent);
            modelToUpdate.SetEMKLCode(model.EMKLCode, _identityProvider.Username, UserAgent);
            modelToUpdate.SetName(model.Name, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDestination(model.Destination, _identityProvider.Username, UserAgent);
            modelToUpdate.SetAddress(model.Address, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPIC(model.PIC, _identityProvider.Username, UserAgent);
            modelToUpdate.SetATTN(model.ATTN, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPhone(model.Phone, _identityProvider.Username, UserAgent);
            modelToUpdate.SetBookingDate(model.BookingDate, _identityProvider.Username, UserAgent);
            modelToUpdate.SetOrderId(model.OrderId, _identityProvider.Username, UserAgent);
            modelToUpdate.SetOrderCode(model.OrderCode, _identityProvider.Username, UserAgent);
            modelToUpdate.SetOrderName(model.OrderName, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPCSQuantity(model.PCSQuantity, _identityProvider.Username, UserAgent);
            modelToUpdate.SetSETSQuantity(model.SETSQuantity, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPACKQuantity(model.PACKQuantity, _identityProvider.Username, UserAgent);
            modelToUpdate.SetCartoonQuantity(model.CartoonQuantity, _identityProvider.Username, UserAgent);
            modelToUpdate.SetForwarderId(model.ForwarderId, _identityProvider.Username, UserAgent);
            modelToUpdate.SetForwarderCode(model.ForwarderCode, _identityProvider.Username, UserAgent);
            modelToUpdate.SetForwarderName(model.ForwarderName, _identityProvider.Username, UserAgent);
            modelToUpdate.SetTruck(model.Truck, _identityProvider.Username, UserAgent);
            modelToUpdate.SetPlateNumber(model.PlateNumber, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDriver(model.Driver, _identityProvider.Username, UserAgent);
            modelToUpdate.SetContainerNo(model.ContainerNo, _identityProvider.Username, UserAgent);
            modelToUpdate.SetFreight(model.Freight, _identityProvider.Username, UserAgent);
            modelToUpdate.SetShippingSeal(model.ShippingSeal, _identityProvider.Username, UserAgent);
            modelToUpdate.SetDLSeal(model.DLSeal, _identityProvider.Username, UserAgent);
            modelToUpdate.SetEMKLSeal(model.EMKLSeal, _identityProvider.Username, UserAgent);
            modelToUpdate.SetExportEstimationDate(model.ExportEstimationDate, _identityProvider.Username, UserAgent);
            modelToUpdate.SetUnit(model.Unit, _identityProvider.Username, UserAgent);
            modelToUpdate.SetShippingStaffId(model.ShippingStaffId, _identityProvider.Username, UserAgent);
            modelToUpdate.SetShippingStaffName(model.ShippingStaffName, _identityProvider.Username, UserAgent);

            return(await _dbContext.SaveChangesAsync());
        }
Ejemplo n.º 8
0
        public async Task Delete_PackingList_NotFound_Error()
        {
            var model = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "")
            {
                Id = 1
            };

            var repoMock = new Mock <IGarmentCoverLetterRepository>();

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

            var repoPackingListMock = new Mock <IGarmentPackingListRepository>();

            repoPackingListMock.Setup(s => s.Query)
            .Returns(new List <GarmentPackingListModel>
            {
                new GarmentPackingListModel()
                {
                    Id = model.Id + 1
                }
            }.AsQueryable());

            var spMock = GetServiceProvider(repoMock.Object);

            spMock.Setup(s => s.GetService(typeof(IGarmentPackingListRepository)))
            .Returns(repoPackingListMock.Object);
            spMock.Setup(s => s.GetService(typeof(IIdentityProvider)))
            .Returns(new IdentityProvider());

            var service = GetService(spMock.Object);

            await Assert.ThrowsAnyAsync <Exception>(() => service.Delete(1));
        }
Ejemplo n.º 9
0
        public async Task <int> Create(GarmentCoverLetterViewModel viewModel)
        {
            viewModel.order         = viewModel.order ?? new Buyer();
            viewModel.forwarder     = viewModel.forwarder ?? new Forwarder();
            viewModel.shippingStaff = viewModel.shippingStaff ?? new ShippingStaff();
            viewModel.emkl          = viewModel.emkl ?? new EMKL();
            GarmentShippingCoverLetterModel model = new GarmentShippingCoverLetterModel(viewModel.packingListId, viewModel.invoiceId, viewModel.invoiceNo, viewModel.date.GetValueOrDefault(), viewModel.emkl.Id, viewModel.emkl.Code, viewModel.emkl.Name, viewModel.destination, viewModel.address, viewModel.pic, viewModel.attn, viewModel.phone, viewModel.bookingDate.GetValueOrDefault(), viewModel.order.Id, viewModel.order.Code, viewModel.order.Name, viewModel.pcsQuantity, viewModel.setsQuantity, viewModel.packQuantity, viewModel.cartoonQuantity, viewModel.forwarder.id, viewModel.forwarder.code, viewModel.forwarder.name, viewModel.truck, viewModel.plateNumber, viewModel.driver, viewModel.containerNo, viewModel.freight, viewModel.shippingSeal, viewModel.dlSeal, viewModel.emklSeal, viewModel.exportEstimationDate.GetValueOrDefault(), viewModel.unit, viewModel.shippingStaff.id, viewModel.shippingStaff.name);

            var packingList = _packingListrepository.Query.SingleOrDefault(s => s.Id == model.PackingListId);
            var status      = GarmentPackingListStatusEnum.DELIVERED;

            //&& packingList.Status != status
            if (packingList != null)
            {
                packingList.SetStatus(status, _identityProvider.Username, UserAgent);
                packingList.StatusActivities.Add(new GarmentPackingListStatusActivityModel(_identityProvider.Username, UserAgent, status));
            }
            else
            {
                throw new Exception("Packing List " + model.PackingListId + " not found");
            }

            return(await _repository.InsertAsync(model));
        }
        public void GetReportData_Success()
        {
            var model = new GarmentPackingListModel("", "", "DL", 1, "", DateTimeOffset.Now, "", "", DateTimeOffset.Now, "", 1, "", "", "", "", "", DateTimeOffset.Now, DateTimeOffset.Now, DateTimeOffset.Now, false, false, "", "", "", null, 1, 1, 1, 1, null, "", "", "", "", "", "", "", false, false, 1, "", GarmentPackingListStatusEnum.CREATED, "", false, "")
            {
                Id = 1
            };

            var model1 = new GarmentShippingInvoiceModel(1, "", DateTimeOffset.Now, "", "", 1, "A99", "", "", "", "", 1, "", "", DateTimeOffset.Now, "", 1, "", 1, "", 1, "", 1, "", DateTimeOffset.Now,
                                                         "", DateTimeOffset.Now, "", "", null, 1, "", "", "", false, "", DateTimeOffset.Now, "", DateTimeOffset.Now, "", DateTimeOffset.Now, null, 1, "", "", null)
            {
                Id = 1
            };

            var model2 = new GarmentShippingInstructionModel("no", 1, DateTimeOffset.Now, 1, "", "", "", "", "", "", "", 1, "", "", "", DateTimeOffset.Now, "", "", "", "", "", "", "", "", 1, "", 1, "", "", "", "", "", DateTimeOffset.Now, "", "", "")
            {
                Id = 1
            };

            var model3 = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "");

            var model4 = new GarmentShippingCreditAdviceModel(1, 1, "", DateTimeOffset.Now, 1, 1, "", "", "", true, "", 1, 1, "", DateTimeOffset.Now, DateTimeOffset.Now, "", 1, 1, 1, DateTimeOffset.Now, 1, 1, 1, 1, 1, 1, 1, "", 1, "", "", 1, "", "", 1, 1, 1, DateTimeOffset.Now, "", DateTimeOffset.Now, 1, "", DateTimeOffset.Now, 1, DateTimeOffset.Now, "");

            var repoMock1 = new Mock <IGarmentPackingListRepository>();

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

            var repoMock2 = new Mock <IGarmentShippingInvoiceRepository>();

            repoMock2.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingInvoiceModel>()
            {
                model1
            }.AsQueryable());

            var repoMock3 = new Mock <IGarmentShippingInstructionRepository>();

            repoMock3.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingInstructionModel>()
            {
                model2
            }.AsQueryable());

            var repoMock4 = new Mock <IGarmentCoverLetterRepository>();

            repoMock4.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingCoverLetterModel>()
            {
                model3
            }.AsQueryable());

            var repoMock5 = new Mock <IGarmentShippingCreditAdviceRepository>();

            repoMock5.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingCreditAdviceModel>()
            {
                model4
            }.AsQueryable());

            var service = GetService(GetServiceProvider(repoMock1.Object, repoMock2.Object, repoMock3.Object, repoMock4.Object, repoMock5.Object).Object);

            var result = service.GetReportData(model2.BuyerAgentCode, null, DateTime.MinValue, DateTime.MaxValue, 0);

            Assert.NotEmpty(result.ToList());
        }
Ejemplo n.º 11
0
        private GarmentCoverLetterViewModel MapToViewModel(GarmentShippingCoverLetterModel model)
        {
            GarmentCoverLetterViewModel viewModel = new GarmentCoverLetterViewModel
            {
                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,

                packingListId = model.PackingListId,
                invoiceId     = model.InvoiceId,
                invoiceNo     = model.InvoiceNo,
                date          = model.Date,
                emkl          = new EMKL
                {
                    Name = model.Name,
                    Id   = model.EMKLId,
                    Code = model.EMKLCode,
                    //attn=model.ATTN,
                    //address=model.Address,
                    //phone=model.Phone
                },
                destination = model.Destination,
                address     = model.Address,
                pic         = model.PIC,
                attn        = model.ATTN,
                phone       = model.Phone,
                bookingDate = model.BookingDate,

                order = new Buyer
                {
                    Id   = model.OrderId,
                    Code = model.OrderCode,
                    Name = model.OrderName
                },
                pcsQuantity     = model.PCSQuantity,
                setsQuantity    = model.SETSQuantity,
                packQuantity    = model.PACKQuantity,
                cartoonQuantity = model.CartoonQuantity,
                forwarder       = new Forwarder
                {
                    id   = model.ForwarderId,
                    code = model.ForwarderCode,
                    name = model.ForwarderName,
                },
                truck                = model.Truck,
                plateNumber          = model.PlateNumber,
                driver               = model.Driver,
                containerNo          = model.ContainerNo,
                freight              = model.Freight,
                shippingSeal         = model.ShippingSeal,
                dlSeal               = model.DLSeal,
                emklSeal             = model.EMKLSeal,
                exportEstimationDate = model.ExportEstimationDate,
                unit          = model.Unit,
                shippingStaff = new ShippingStaff
                {
                    id   = model.ShippingStaffId,
                    name = model.ShippingStaffName
                }
            };

            return(viewModel);
        }
Ejemplo n.º 12
0
        public void GenerateExcel_Empty_Success()
        {
            var model1 = new GarmentPackingListModel("", "", "DL", 1, "", DateTimeOffset.Now, "", "", DateTimeOffset.Now, "", 1, "", "", "", "", "", DateTimeOffset.Now, DateTimeOffset.Now, DateTimeOffset.Now, false, false, "", "", "", null, 1, 1, 1, 1, null, "", "", "", "", "", "", "", false, false, 1, "", GarmentPackingListStatusEnum.CREATED, "", false, "")
            {
                Id = 1
            };

            var model2 = new GarmentShippingInvoiceModel(1, "", DateTimeOffset.Now, "", "", 1, "A99", "", "", "", "", 1, "", "", DateTimeOffset.Now, "", 1, "", 1, "", 1, "", 1, "", DateTimeOffset.Now,
                                                         "", DateTimeOffset.Now, "", "", null, 1, "", "", "", false, "", DateTimeOffset.Now, "", DateTimeOffset.Now, "", DateTimeOffset.Now, null, 1, "", "", null)
            {
                Id = 1
            };

            var iteminv = new List <GarmentShippingInvoiceItemModel>
            {
                new GarmentShippingInvoiceItemModel("", "", 1, "", 1, 1, "", "", "", "", "", "", 1, "", 1, 1, 1, "", 1, "C10", 1, 1)
                {
                    GarmentShippingInvoiceId = 1
                },
                new GarmentShippingInvoiceItemModel("", "", 1, "", 1, 1, "", "", "", "", "", "", 1, "", 1, 1, 1, "", 1, "C10", 1, 2)
                {
                    GarmentShippingInvoiceId = 1
                },
            };

            var itemadj = new List <GarmentShippingInvoiceAdjustmentModel>
            {
                new GarmentShippingInvoiceAdjustmentModel(1, "", 100, 1)
                {
                    GarmentShippingInvoiceId = 1
                },
                new GarmentShippingInvoiceAdjustmentModel(1, "", 25, 1)
                {
                    GarmentShippingInvoiceId = 1
                },
            };

            var model3 = new GarmentShippingCoverLetterModel(1, 1, "", DateTimeOffset.Now, 1, "", "", "", "", "", "", "", DateTimeOffset.Now, 1, "", "", 1, 1, 1, 1, 1, "", "", "", "", "", "", "", "", "", "", DateTimeOffset.Now, "", 1, "");

            var model4 = new GarmentShippingCreditAdviceModel(1, 1, "", DateTimeOffset.Now, 1, 1, "", "", "", true, "", 1, 1, "", DateTimeOffset.Now, DateTimeOffset.Now, "", 1, 1, 1, DateTimeOffset.Now, 1, 1, 1, 1, 1, 1, 1, "", 1, "", "", 1, "", "", 1, 1, 1, DateTimeOffset.Now, "", DateTimeOffset.Now, 1, "", DateTimeOffset.Now, 1, DateTimeOffset.Now, "");

            var repoMock1 = new Mock <IGarmentPackingListRepository>();

            repoMock1.Setup(s => s.ReadAll())
            .Returns(new List <GarmentPackingListModel>().AsQueryable());

            var repoMock2 = new Mock <IGarmentShippingInvoiceRepository>();

            repoMock2.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingInvoiceModel>().AsQueryable());

            var repoMock3 = new Mock <IGarmentShippingInvoiceItemRepository>();

            repoMock3.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingInvoiceItemModel>().AsQueryable());

            var repoMock4 = new Mock <IGarmentShippingInvoiceAdjustmentRepository>();

            repoMock4.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingInvoiceAdjustmentModel>().AsQueryable());

            var repoMock5 = new Mock <IGarmentCoverLetterRepository>();

            repoMock5.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingCoverLetterModel>().AsQueryable());

            var repoMock6 = new Mock <IGarmentShippingCreditAdviceRepository>();

            repoMock6.Setup(s => s.ReadAll())
            .Returns(new List <GarmentShippingCreditAdviceModel>().AsQueryable());

            var service = GetService(GetServiceProvider(repoMock1.Object, repoMock2.Object, repoMock3.Object, repoMock4.Object, repoMock5.Object, repoMock6.Object).Object);

            var result = service.GenerateExcel(null, null, null, null, 7);

            Assert.NotNull(result);
        }