Пример #1
0
 public Lib.Models.UnitReceiptNoteModel.UnitReceiptNote GetNewDataUrn()
 {
     Lib.Models.UnitReceiptNoteModel.UnitReceiptNote unitReceiptNote = new Lib.Models.UnitReceiptNoteModel.UnitReceiptNote
     {
         URNNo        = "18-08-BPL-P1A-003",
         DivisionId   = "DivisionId",
         DivisionCode = "DivisionCode",
         DivisionName = "DivisionName",
         UnitId       = "UnitId",
         UnitCode     = "UnitCode",
         UnitName     = "UnitName",
         SupplierId   = "SupplierId",
         SupplierCode = "SupplierCode",
         SupplierName = "SupplierName",
         DOId         = 1,
         DONo         = "SJTURI-2",
         ReceiptDate  = new DateTimeOffset(),
         IsStorage    = false,
         StorageId    = "SotrageId",
         StorageCode  = "StorageCode",
         StorageName  = "StorageName",
         Remark       = "Remark",
     };
     return(unitReceiptNote);
 }
Пример #2
0
        public IActionResult GetPDF(int id)
        {
            try
            {
                var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf");
                identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value;
                UnitPaymentCorrectionNote model = _facade.ReadById(id);

                UnitPaymentCorrectionNoteViewModel viewModel = _mapper.Map <UnitPaymentCorrectionNoteViewModel>(model);

                if (indexAcceptPdf < 0)
                {
                    return(Ok(new
                    {
                        apiVersion = ApiVersion,
                        statusCode = General.OK_STATUS_CODE,
                        message = General.OK_MESSAGE,
                        data = viewModel,
                    }));
                }
                else
                {
                    int clientTimeZoneOffset               = int.Parse(Request.Headers["x-timezone-offset"].First());
                    UnitPaymentOrder          spbModel     = _spbFacade.ReadById((int)model.UPOId);
                    UnitPaymentOrderViewModel viewModelSpb = _mapper.Map <UnitPaymentOrderViewModel>(spbModel);
                    var supplier         = _facade.GetSupplier(model.SupplierId);
                    var supplier_address = "";
                    if (supplier != null)
                    {
                        supplier_address = supplier.address;
                    }

                    var temp_date = new DateTimeOffset();
                    foreach (var item in viewModel.items)
                    {
                        Lib.Models.UnitReceiptNoteModel.UnitReceiptNote urnModel = _facade.ReadByURNNo(item.uRNNo);
                        UnitReceiptNoteViewModel viewModelUrn = _mapper.Map <UnitReceiptNoteViewModel>(urnModel);
                        if (viewModelUrn != null && temp_date < viewModelUrn.date)
                        {
                            temp_date = viewModelUrn.date;
                        }
                    }
                    UnitPaymentQuantityCorrectionNotePDFTemplate PdfTemplate = new UnitPaymentQuantityCorrectionNotePDFTemplate();
                    MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, viewModelSpb, temp_date, supplier_address, identityService.Username, clientTimeZoneOffset);

                    return(new FileStreamResult(stream, "application/pdf")
                    {
                        FileDownloadName = $"{model.UPCNo}.pdf"
                    });
                }
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
Пример #3
0
        public async Task <Lib.Models.UnitReceiptNoteModel.UnitReceiptNote> GetTestData3(string user)
        {
            Lib.Models.UnitReceiptNoteModel.UnitReceiptNote unitReceiptNote = await GetNewDataLocalSupplier(user);

            await facade.Create(unitReceiptNote, user);

            return(unitReceiptNote);
        }
Пример #4
0
        public async Task <Lib.Models.UnitReceiptNoteModel.UnitReceiptNote> GetTestDataImportSupplierValas(string user)
        {
            Lib.Models.UnitReceiptNoteModel.UnitReceiptNote unitReceiptNote = await GetNewDataLocalSupplierValas(user);

            unitReceiptNote.SupplierIsImport = true;
            await facade.Create(unitReceiptNote, user);

            return(unitReceiptNote);
        }
Пример #5
0
        public IActionResult GetPDF(int id)
        {
            try
            {
                var indexAcceptPdf = Request.Headers["Accept"].ToList().IndexOf("application/pdf");
                identityService.Username = User.Claims.Single(p => p.Type.Equals("username")).Value;
                UnitPaymentCorrectionNote model = _facade.ReadById(id);

                UnitPaymentCorrectionNoteViewModel viewModel = _mapper.Map <UnitPaymentCorrectionNoteViewModel>(model);

                //if (indexAcceptPdf < 0)
                //{
                //    return Ok(new
                //    {
                //        apiVersion = ApiVersion,
                //        statusCode = General.OK_STATUS_CODE,
                //        message = General.OK_MESSAGE,
                //        data = viewModel,
                //    });
                //}
                //else
                //{
                SupplierViewModel supplier = _facade.GetSupplier(viewModel.supplier._id);

                viewModel.supplier.address = supplier == null ? "" : supplier.address;
                int clientTimeZoneOffset               = int.Parse(Request.Headers["x-timezone-offset"].First());
                UnitPaymentOrder          spbModel     = _spbFacade.ReadById((int)model.UPOId);
                UnitPaymentOrderViewModel viewModelSpb = _mapper.Map <UnitPaymentOrderViewModel>(spbModel);
                DateTimeOffset?           receiptDate  = null;
                var today = new DateTime(1970, 1, 1);
                foreach (var item in model.Items)
                {
                    Lib.Models.UnitReceiptNoteModel.UnitReceiptNote urnModel = _facade.GetUrn(item.URNNo);

                    if (receiptDate == null || urnModel.ReceiptDate > receiptDate)
                    {
                        receiptDate = urnModel == null ? today : urnModel.ReceiptDate;
                    }
                }
                UnitPaymentPriceCorrectionNotePDFTemplate PdfTemplate = new UnitPaymentPriceCorrectionNotePDFTemplate();
                MemoryStream stream = PdfTemplate.GeneratePdfTemplate(viewModel, viewModelSpb, identityService.Username, clientTimeZoneOffset, receiptDate);

                return(new FileStreamResult(stream, "application/pdf")
                {
                    FileDownloadName = $"{model.UPCNo}.pdf"
                });
                //}
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
Пример #6
0
        public async Task <UnitPaymentOrder> GetNewData()
        {
            Lib.Models.UnitReceiptNoteModel.UnitReceiptNote unitReceiptNote = await Task.Run(() => this.unitReceiptNoteDataUtil.GetTestData("Unit Test"));

            List <UnitPaymentOrderDetail> unitPaymentOrderDetails = new List <UnitPaymentOrderDetail>();

            foreach (var item in unitReceiptNote.Items)
            {
                unitPaymentOrderDetails.Add(new UnitPaymentOrderDetail
                {
                    URNItemId = item.Id,

                    EPODetailId = item.EPODetailId,
                    PRId        = item.PRId,
                    PRNo        = item.PRNo,
                    PRItemId    = item.PRItemId,

                    ProductId   = item.ProductId,
                    ProductCode = item.ProductCode,
                    ProductName = item.ProductName,

                    ReceiptQuantity = item.ReceiptQuantity,

                    UomId   = item.UomId,
                    UomUnit = item.Uom,

                    PricePerDealUnit   = item.PricePerDealUnit,
                    PriceTotal         = item.PricePerDealUnit * item.ReceiptQuantity,
                    QuantityCorrection = item.ReceiptQuantity,

                    ProductRemark = item.ProductRemark
                });
            }

            List <UnitPaymentOrderItem> unitPaymentOrderItems = new List <UnitPaymentOrderItem>
            {
                new UnitPaymentOrderItem
                {
                    URNId = unitReceiptNote.Id,
                    URNNo = unitReceiptNote.URNNo,

                    DOId    = unitReceiptNote.DOId,
                    DONo    = unitReceiptNote.DONo,
                    Details = unitPaymentOrderDetails
                }
            };

            UnitPaymentOrder unitPaymentOrder = new UnitPaymentOrder
            {
                DivisionId   = "DivisionId",
                DivisionCode = "DivisionCode",
                DivisionName = "DivisionName",

                SupplierId   = "SupplierId",
                SupplierCode = "SupplierCode",
                SupplierName = "SupplierName",

                Date = new DateTimeOffset(),

                CategoryId   = "CategoryId ",
                CategoryCode = "CategoryCode",
                CategoryName = "CategoryName",

                CurrencyId   = "CurrencyId",
                CurrencyCode = "CurrencyCode",
                CurrencyRate = 5,

                PaymentMethod = "CASH",

                InvoiceNo   = "INV000111",
                InvoiceDate = new DateTimeOffset(),
                PibNo       = null,

                UseIncomeTax  = false,
                IncomeTaxId   = null,
                IncomeTaxName = null,
                IncomeTaxRate = 0,
                IncomeTaxNo   = null,
                IncomeTaxDate = null,

                UseVat   = false,
                VatNo    = null,
                VatDate  = new DateTimeOffset(),
                Position = 1,
                Remark   = null,

                DueDate = new DateTimeOffset(), // ???

                Items = unitPaymentOrderItems
            };

            return(unitPaymentOrder);
        }