Exemplo n.º 1
0
        public async void InvoicesManager_SaveInvoiceAsync_DoesntFail()
        {
            var sut = new InvoicesManager(_mockLog.Object, _mqPublisher.Object, _invoiceRepository.Object, _invoiceEntityService.Object);

            await sut.SaveInvoiceAsync(new Invoice(new InvoiceData()));

            // Assert.NotNull(retVal);
        }
Exemplo n.º 2
0
        public async void InvoicesManager_GetInvoiceAsync_NotNull()
        {
            var sut = new InvoicesManager(_mockLog.Object, _mqPublisher.Object, _invoiceRepository.Object, _invoiceEntityService.Object);

            var retVal = await sut.GetInvoiceAsync("TEST");

            Assert.NotNull(retVal);
        }
Exemplo n.º 3
0
        public async void InvoicesManager_GetInvoicesAsync_IsEmpty()
        {
            var sut = new InvoicesManager(_mockLog.Object, _mqPublisher.Object, _invoiceRepository.Object, _invoiceEntityService.Object);

            var retVal = await sut.GetInvoicesAsync();

            Assert.True(retVal.Count == 0);
        }
Exemplo n.º 4
0
        public async Task <IActionResult> PrintInvoice(string id)
        {
            Stream stream = await InvoicesManager.PrintInvoiceAsync(this.AuthenticationProvider, id);

            if (stream == null)
            {
                return(null);                                                      // returns a NotFoundResult with Status404NotFound response.
            }
            return(File(stream, "application/octet-stream", "FR." + id + ".pdf")); // returns a FileStreamResult
        }
Exemplo n.º 5
0
 public async Task <ActionResult <string> > PostInvoiceAsync([FromBody] OrderResource product)
 {
     try
     {
         return(new ActionResult <string>(await InvoicesManager.CreateInvoiceMiddlewareAsync(this.AuthenticationProvider, product)));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemplo n.º 6
0
 public async Task <ActionResult <string> > PostInvoice(Guid id)
 {
     try
     {
         return(new ActionResult <string>(await InvoicesManager.GetInvoiceAsync(this.AuthenticationProvider, id)));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.Message));
     }
 }
Exemplo n.º 7
0
        public async Task <string> PaymentFacade(PaymentMethodInfoViewModel paymentInfo, PayedItemViewModel payedItem, decimal?amount = null, string urlOk = null, string urlCancel = null)
        {
            if (string.IsNullOrEmpty(payedItem.PayedItemId))
            {
                throw new ArgumentException("Идентификаторът на платения елемент е задължителен!");
            }
            var payedItemInfo = await PayedItemsManager.Get(payedItem.PayedItemCode) ?? throw new ArgumentException("Кодът не съществува!");

            if (payedItemInfo.Amount == 0.0M && amount != null)
            {
                payedItemInfo.Amount = (decimal)amount;
            }
            else if (payedItemInfo.Amount == 0.0M && amount == null)
            {
                throw new ArgumentException("Цената на продуктът/услугата не е определена! Моля свържете се с екипът ни за корекция!");
            }

            ePayQueryViewModel ePayInfo = await InvoicesManager.CreateInvoiceForSending(payedItemInfo.Amount, payedItem.PayedItemId, payedItemInfo.Description, payedItem.PayedItemCode);


            // Payment Logic
            if (paymentInfo.PaymentMethod.ToUpper() == "EASYPAY")
            {
                if (!IsEasyPayModelValid(paymentInfo, payedItem))
                {
                    throw new ServicesValidationException();
                }
                var easyPayCode = await GetEasyPayCode(ePayInfo, paymentInfo, payedItem);

                return(easyPayCode);
            }
            else
            {
                if (!IsEPayModelValid(paymentInfo, payedItem))
                {
                    throw new ServicesValidationException();
                }
                if (string.IsNullOrEmpty(urlOk) || string.IsNullOrEmpty(urlCancel))
                {
                    throw new ServicesValidationException();
                }

                return(EPayFacade(ePayInfo, paymentInfo.PaymentMethod, urlOk, urlCancel));
            }
        }
Exemplo n.º 8
0
 public UnitOfWork(ApplicationDbContext context)
 {
     this.context       = context;
     Claims             = new ClaimManager(context);
     Departments        = new DepartmentManager(context);
     DepartmentProjects = new DepartmentProjectsManager(context);
     Engineers          = new EngineerManager(context);
     //EngineerSubTasks = new EngineerSubTasksManager(context);
     SubTaskSessions   = new SubTaskSessionManager(context);
     Projects          = new ProjectManager(context);
     SubTasks          = new SubTaskManager(context);
     Tasks             = new TaskManager(context);
     Teams             = new TeamManager(context);
     TeamTasks         = new TeamTasksManager(context);
     Invoices          = new InvoicesManager(context);
     InoviceItems      = new InvoiceItemManager(context);
     Dependency        = new DependencyManager(context);
     Notification      = new NotificationManager(context);
     NotificationUsers = new NotificationUsersManager(context);
     Files             = new FilesManager(context);
     Comments          = new CommentManager(context);
     Holiday           = new HolidayManager(context);
 }
Exemplo n.º 9
0
        // Handle Notiications recieved via oneSignal and take appropriate actions
        private static async void HandleNotificationOpened(OSNotificationOpenedResult result)
        {
            OSNotificationPayload       payload        = result.notification.payload;
            Dictionary <string, object> additionalData = payload.additionalData;
            string message  = payload.body;
            string actionID = result.action.actionID;

            var extraMessage = "Notification opened with text: " + message;

            if (additionalData != null)
            {
                string id   = ""; //  the id of the object to open
                string kind = ""; // the kind of object the id belongs to and take relevant action to open page based on this

                if (additionalData.ContainsKey("id"))
                {
                    id = (additionalData["id"].ToString());
                }
                if (additionalData.ContainsKey("kind"))
                {
                    kind = (additionalData["kind"].ToString());
                }

                switch (kind)
                {
                case "Document":
                {
                    Document obj;

                    if (await CrossConnectivity.Current.IsRemoteReachable("https://www.google.com"))
                    {
                        obj = await DocumentsManager.GetAsync(id);
                    }
                    else
                    {
                        obj = await new StorageService <Document>().GetItemAsync(id);
                    }

                    if (obj != null)
                    {
                        await(tabbedNavigation._tabs[0].BindingContext as FreshBasePageModel).CoreMethods.PushPageModel <AddDocumentViewModel>(obj, true, Device.RuntimePlatform == Device.iOS);
                    }

                    break;
                }

                case "Teledeclaration":
                {
                    Teledeclaration obj;

                    if (await CrossConnectivity.Current.IsRemoteReachable("https://www.google.com"))
                    {
                        obj = await TeledeclarationsManager.GetAsync(id);
                    }
                    else
                    {
                        obj = await new StorageService <Teledeclaration>().GetItemAsync(id);
                    }

                    if (obj != null)
                    {
                        await(tabbedNavigation._tabs[0].BindingContext as FreshBasePageModel).CoreMethods.PushPageModel <TeledeclarationSecureActionViewModel>(obj, true, true);
                    }

                    break;
                }

                case "Ordonnance":
                {
                    Ordonnance obj;

                    if (await CrossConnectivity.Current.IsRemoteReachable("https://www.google.com"))
                    {
                        obj = await OrdonnanceManager.GetAsync(id);
                    }
                    else
                    {
                        obj = await new StorageService <Ordonnance>().GetItemAsync(id);
                    }

                    if (obj != null)
                    {
                        if (tabbedNavigation != null)
                        {
                            await tabbedNavigation.SwitchSelectedRootPageModel <OrdonnancesListViewModel>();
                        }

                        await(tabbedNavigation._tabs[2].BindingContext as FreshBasePageModel).CoreMethods.PushPageModel <OrdonnanceCreateEditViewModel>(obj, true);
                    }

                    break;
                }

                case "InvoiceToSecure":
                {
                    if (await CrossConnectivity.Current.IsRemoteReachable("https://www.google.com"))
                    {
                        var request  = new GetListRequest(20, 1, sortField: "createdAt", sortDirection: SortDirectionEnum.Desc);
                        var invoices = await InvoicesManager.GetListAsync(request);

                        if (invoices != null && invoices.rows != null && invoices.rows.Count > 0)
                        {
                            var invoice = invoices.rows.First();

                            if (invoice.FilePath.Contains(".pdf"))
                            {
                                await(tabbedNavigation._tabs[0].BindingContext as FreshBasePageModel).CoreMethods.PushPageModel <SecuriseBillsViewModel>(invoice, true);
                            }
                            else
                            {
                                await(tabbedNavigation._tabs[0].BindingContext as FreshBasePageModel).CoreMethods.PushPageModel <OrdonnanceViewViewModel>(invoice, true);
                            }
                        }
                    }
                    break;
                }

                default:
                    break;
                }
            }
        }
Exemplo n.º 10
0
 public async Task <MiddlewareResponse> GetStateInvoiceProcessAsync(Guid id)
 {
     return(await InvoicesManager.GetStateInvoiceMiddlewareAsync(this.AuthenticationProvider, id));
 }
Exemplo n.º 11
0
 public async Task <List <MiddlewareResponse> > PostBulkInvoiceAsync([FromBody] List <OrderResource> orders)
 {
     return(await InvoicesManager.CreateBulkInvoiceMiddlewareAsync(this.AuthenticationProvider, orders));
 }