예제 #1
0
        public void TestInitialization()
        {
            eventStore            = new MemoryEventStore();
            reconciliationService = new ReconciliationService();

            dispatcher = new Dispatcher(eventStore, reconciliationService);
        }
예제 #2
0
        public async Task <IActionResult> ReconciliationPrintFriendly(ResultModel ResultModel)
        {
            try
            {
                string completeFileName = HttpContext.Session.GetString("CompleteFileName");

                if (string.IsNullOrEmpty(completeFileName))
                {
                    completeFileName = ResultModel.CompleteFileName;
                }

                if (string.IsNullOrEmpty(completeFileName))
                {
                    return(HandleError("Ingen fil fundet, start venligst forfra"));
                }

                ReconciliationService service = new ReconciliationService();
                DateTime fromDate = DateTime.MinValue, toDate = DateTime.MaxValue;

                List <ReconciliationItem> reconciliationItems = service.GetReconciliationItemsForPrint(ref fromDate, ref toDate, completeFileName);

                if (reconciliationItems == null || reconciliationItems.Count == 0)
                {
                    return(HandleError("Ingen rækker fundet i korrekt format"));
                }

                var invoices = _invoiceContext.Invoices
                               .Select(i => new Invoice
                {
                    DiscountAmount       = i.DiscountAmount,
                    Id                   = i.Id,
                    InvoiceDate          = i.InvoiceDate,
                    OrderId              = i.OrderId,
                    PaymentDate          = i.PaymentDate,
                    ShipmentCost         = i.ShipmentCost,
                    TotalPrice           = i.TotalPrice,
                    UserEmailAddress     = i.UserEmailAddress,
                    UserPresentationName = i.UserPresentationName
                })
                               .Where(i => i.InvoiceDate >= fromDate && i.InvoiceDate <= toDate)
                               .OrderByDescending(i => i.Id)
                               .ToList();

                ResultModel resultModel = service.Reconcilidate(reconciliationItems, invoices);
                resultModel.ResultHeader = "Resultat for perioden: " + fromDate.ToShortDateString() + " til " + toDate.ToShortDateString();
                resultModel.ReconsiledItemsPresentation = resultModel.ReconsiledItemsCount.ToString("N0");

                return(View("ReconciliationPrintResult", resultModel));
            }
            catch (Exception ex)
            {
                return(HandleError(ex.Message));
            }
        }
예제 #3
0
        public async Task <IActionResult> DoReconciliation(IFormFile reconciliationFile)
        {
            try
            {
                if (reconciliationFile == null)
                {
                    return(HandleError("Ingen fil uploadet"));
                }

                if (reconciliationFile.FileName == null || reconciliationFile.FileName.EndsWith(".xlsx") == false)
                {
                    return(HandleError("Forkert filtype<br />Filen: " + reconciliationFile.FileName + " dur ikke.<br />Det skal være en excel fil der ender på .xlsx"));
                }

                ReconciliationService service = new ReconciliationService();
                DateTime fromDate = DateTime.MinValue, toDate = DateTime.MaxValue;
                string   completeFileName = "";
                List <ReconciliationItem> reconciliationItems = service.GetReconciliationItems(reconciliationFile, ref fromDate, ref toDate, ref completeFileName);
                reconciliationFile = null;
                if (reconciliationItems == null || reconciliationItems.Count == 0)
                {
                    return(HandleError("Ingen rækker fundet i korrekt format"));
                }

                var invoices = _invoiceContext.Invoices
                               .Select(i => new Invoice
                {
                    DiscountAmount       = i.DiscountAmount,
                    Id                   = i.Id,
                    InvoiceDate          = i.InvoiceDate,
                    OrderId              = i.OrderId,
                    PaymentDate          = i.PaymentDate,
                    ShipmentCost         = i.ShipmentCost,
                    TotalPrice           = i.TotalPrice,
                    UserEmailAddress     = i.UserEmailAddress,
                    UserPresentationName = i.UserPresentationName
                })
                               .Where(i => i.InvoiceDate >= fromDate && i.InvoiceDate <= toDate)
                               .OrderByDescending(i => i.Id)
                               .ToList();

                ResultModel resultModel = service.Reconcilidate(reconciliationItems, invoices);
                resultModel.ResultHeader = "Resultat for perioden: " + fromDate.ToShortDateString() + " til " + toDate.ToShortDateString();
                resultModel.ReconsiledItemsPresentation = resultModel.ReconsiledItemsCount.ToString("N0");
                HttpContext.Session.SetString("CompleteFileName", completeFileName);
                resultModel.CompleteFileName = completeFileName;

                return(View("ReconciliationResult", resultModel));
            }
            catch (Exception ex)
            {
                return(HandleError(ex.Message));
            }
        }
예제 #4
0
 /// <summary>
 /// Gets ReconciliationService
 /// </summary>
 public ReconciliationService GetReconciliationService()
 {
     if (reconciliationService == null)
     {
         reconciliationService = new ReconciliationService();
         reconciliationService.ResourcePath      = ResourcePath.RECONCILIATION_RESOURCE_PATH;
         reconciliationService.measureService    = GetMeasureService();
         reconciliationService.ModelService      = GetModelService();
         reconciliationService.periodNameService = GetPeriodNameService();
         reconciliationService.postingService    = GetPostingService();
         configureService(reconciliationService);
     }
     return(reconciliationService);
 }
예제 #5
0
 public void TestInitialize()
 {
     reconciliationService = new ReconciliationService();
 }
예제 #6
0
 public ReconciliationsController()
 {
     reconciliationService = new ReconciliationService();
     accountService        = new AccountService();
 }