Пример #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            Retailer retailer = RetailerRepository.GetSingle(id);

            try
            {
                RetailerRepository.Delete(retailer);
                RetailerRepository.Save();

                if (IsSuperAdmin)
                {
                    return(RedirectToAction("Index", new { storeId = retailer.StoreId }));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Unable to delete it:" + ex.StackTrace, retailer);
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }

            return(View(retailer));
        }
        public HttpResponseMessage GetSingleRetailer(int id)
        {
            var retailerRepository = new RetailerRepository();
            var singleRetailer     = retailerRepository.GetSingleRetailer(id);

            return(Request.CreateResponse(HttpStatusCode.OK, singleRetailer));
        }
        public HttpResponseMessage GetRetailers()
        {
            var retailerRepository = new RetailerRepository();
            var allRetailers       = retailerRepository.GetAllRetailers();

            return(Request.CreateResponse(HttpStatusCode.OK, allRetailers));
        }
Пример #4
0
        public async Task List_Only_Current_Month_Orders()
        {
            var options = new DbContextOptionsBuilder <CashbackContext>()
                          .UseInMemoryDatabase(databaseName: $"Teste_OrderService{Guid.NewGuid()}")
                          .Options;

            var retailerCpf        = new Cpf("408.477.340-99");
            var orderReferenceDate = DateTime.Now;


            using (var context = new CashbackContext(options))
            {
                var retailerRepository = new RetailerRepository(context);

                await retailerRepository.Add(new Domain.Retailers.Retailer(new Domain.Dtos.Retailers.CreateRetailerDto()
                {
                    CPF      = retailerCpf.Value,
                    Name     = "Test name",
                    Email    = "*****@*****.**",
                    Password = "******"
                }));

                var retailer = await retailerRepository.Find(retailerCpf);


                var orderRepository = new OrderRepository(context);

                await orderRepository.Add(new Order("ABC", 20, orderReferenceDate.AddMonths(-5), retailer));

                await orderRepository.Add(new Order("DEF", 30, orderReferenceDate, retailer));

                await orderRepository.Add(new Order("GHI", 40, orderReferenceDate.AddMonths(5), retailer));
            }
            using (var context = new CashbackContext(options))
            {
                var retailerRepository = new RetailerRepository(context);
                var orderRepository    = new OrderRepository(context);


                var orderService = new OrderService(
                    retailerRepository,
                    orderRepository,
                    new CashbackService(),
                    new Mock <ILogger <OrderService> >().Object);

                var orders = await orderService.ListCurrentMonth(retailerCpf.Value);

                Assert.Single(orders);
                Assert.Equal("DEF", orders.First().Code);
                Assert.Equal(30, orders.First().Value);
                Assert.Equal(OrderStatus.Validating, orders.First().Status);
                Assert.Equal(orderReferenceDate, orders.First().ReferenceDate);
                Assert.Equal(10, orders.First().CashbackPercent);
                Assert.Equal(3, orders.First().CashbackValue);
            }
        }
Пример #5
0
        public ActionResult Index(int storeId = 0, String search = "")
        {
            var resultList = new List <Retailer>();

            storeId = GetStoreId(storeId);
            if (storeId != 0)
            {
                resultList = RetailerRepository.GetRetailersByStoreId(storeId, search);
            }

            return(View(resultList));
        }
Пример #6
0
        public async Task Create_Order_With_Approoved_Status_Success()
        {
            var options = new DbContextOptionsBuilder <CashbackContext>()
                          .UseInMemoryDatabase(databaseName: $"Teste_OrderService{Guid.NewGuid()}")
                          .Options;

            var retailerCpf        = new Cpf("15350946056");
            var orderReferenceDate = DateTime.Now;


            using (var context = new CashbackContext(options))
            {
                context.Database.EnsureCreated();

                var retailerRepository = new RetailerRepository(context);

                await retailerRepository.Add(new Domain.Retailers.Retailer(new Domain.Dtos.Retailers.CreateRetailerDto()
                {
                    CPF      = retailerCpf.Value,
                    Name     = "Test name",
                    Email    = "*****@*****.**",
                    Password = "******"
                }));

                var orderRepository = new OrderRepository(context);

                var orderService = new OrderService(
                    retailerRepository,
                    orderRepository,
                    new CashbackService(),
                    new Mock <ILogger <OrderService> >().Object);

                await orderService.Create(new Domain.Dtos.Orders.CreateOrderDto()
                {
                    Code          = "ABC",
                    ReferenceDate = orderReferenceDate,
                    Value         = 200
                }, retailerCpf.Value);
            }
            using (var context = new CashbackContext(options))
            {
                var orders = await context.Set <OrderDbModel>().ToListAsync();

                Assert.Single(orders);
                Assert.Equal("ABC", orders.First().Code);
                Assert.Equal(200, orders.First().Value);
                Assert.Equal(orderReferenceDate, orders.First().ReferenceDate);
                Assert.Equal(OrderStatus.Approved, orders.First().Status);
            }
        }
Пример #7
0
        public ActionResult SaveOrEdit(int id = 0, int selectedStoreId = 0)
        {
            var retailer = new Retailer();

            retailer.StoreId = GetStoreId(selectedStoreId);
            if (id != 0)
            {
                retailer             = RetailerRepository.GetSingle(id);
                retailer.UpdatedDate = DateTime.Now;
            }
            else
            {
                retailer.UpdatedDate = DateTime.Now;
                retailer.CreatedDate = DateTime.Now;
                retailer.State       = true;
            }
            return(View(retailer));
        }
Пример #8
0
        public async Task Is_Possible_Retailer_Crud()
        {
            using (var context = serviceProvider.GetService <CashBackContext>())
            {
                var repository = new RetailerRepository(context);
                var retailer   = new Retailer
                {
                    // Fake - Generated at: https://www.4devs.com.br/gerador_de_cpf
                    DocumentId = "715.244.760-80",
                    Email      = Faker.Internet.Email(),
                    FullName   = Faker.Name.FullName(),
                    Password   = Faker.Lorem.GetFirstWord(),
                };

                var resultInsert = await repository.CreateRetailer(retailer);

                Assert.NotNull(resultInsert);
                Assert.Equal(retailer.Email, resultInsert.Email);
                Assert.True(retailer.Id == resultInsert.Id);
                Assert.True(resultInsert.Id != 0);

                retailer.FullName = Faker.Name.FullName();
                var resultUpdate = await repository.UpdateRetailer(retailer);

                Assert.NotNull(resultUpdate);
                Assert.Equal(retailer.Email, resultUpdate.Email);
                Assert.Equal(retailer.FullName, resultUpdate.FullName);

                var resultRead = await repository.GetWithPurchaseByDocumentIdAsync(resultInsert.DocumentId);

                Assert.NotNull(resultRead);
                Assert.True(retailer.Id == resultRead.Id);
                Assert.True(resultInsert.FullName == resultRead.FullName);

                var resultDelete = await repository.DeleteRetailer(resultInsert);

                Assert.True(resultDelete);
            }
        }
Пример #9
0
        public SitemapResult RetailersSitemapResult(Controller sitemapsController)
        {
            var sitemapItems = new List <SitemapItem>();

            String key = String.Format("RetailersSiteMap-{0}", StoreId);

            RetailerSitemapItemCache.TryGet(key, out sitemapItems);

            if (sitemapItems == null)
            {
                sitemapItems = new List <SitemapItem>();
                var retailers = RetailerRepository.GetRetailers(MyStore.Id, null, true);
                foreach (var retailer in retailers)
                {
                    var retailerDetailLink = LinkHelper.GetRetailerIdRouteValue(retailer);
                    var siteMap            = new SitemapItem(sitemapsController.Url.AbsoluteAction("detail", "retailers", new { id = retailerDetailLink }),
                                                             changeFrequency: SitemapChangeFrequency.Monthly, priority: 1.0);
                    sitemapItems.Add(siteMap);
                }
                RetailerSitemapItemCache.Set(key, sitemapItems, MemoryCacheHelper.CacheAbsoluteExpirationPolicy(ProjectAppSettings.CacheLongSeconds));
            }
            return(new SitemapResult(sitemapItems));
        }
Пример #10
0
        public ActionResult SaveOrEdit(Retailer retailer)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    if (retailer.Id == 0)
                    {
                        RetailerRepository.Add(retailer);
                    }
                    else
                    {
                        RetailerRepository.Edit(retailer);
                    }
                    RetailerRepository.Save();

                    if (IsSuperAdmin)
                    {
                        return(RedirectToAction("Index", new { storeId = retailer.StoreId }));
                    }
                    else
                    {
                        return(RedirectToAction("Index"));
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex, "Unable to save:" + ex.StackTrace, retailer);
                //Log the error (uncomment dex variable name and add a line here to write a log.
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
            }


            return(View(retailer));
        }
Пример #11
0
        //
        // GET: /Retailers/Details/5

        public ViewResult Details(int id)
        {
            Retailer retailer = RetailerRepository.GetSingle(id);

            return(View(retailer));
        }
Пример #12
0
 public async Task <List <Retailer> > GetRetailersAsync(int storeId, int?take, bool isActive)
 {
     return(await RetailerRepository.GetRetailersAsync(storeId, take, isActive));
 }
        public IList<SalesReturnListViewModel> Get(int companyid, DateTime StartDate, DateTime EndDate)
        {
            IList<SalesReturnListViewModel> returnList = new List<SalesReturnListViewModel>();
            IList<ERPOptima.Model.Sales.SlsSalesReturn> list = new List<ERPOptima.Model.Sales.SlsSalesReturn>();
            //DataTable dt = new DataTable();

            //SqlParameter[] paramsToStore = new SqlParameter[2];
            //paramsToStore[0] = new SqlParameter("@StartDate", StartDate);
            //paramsToStore[1] = new SqlParameter("@EndDate", EndDate);

            try
            {
                // dt = _SalesReturnRepository.GetFromStoredProcedure(SPList.Report.RptSalesReturnList, paramsToStore);
                list = _SalesReturnRepository.Get(companyid, StartDate, EndDate);
                if (list != null && list.Count > 0)
                {
                    foreach (ERPOptima.Model.Sales.SlsSalesReturn itm in list)
                    {
                        var dbfactory = new DatabaseFactory();
                        SalesReturnListViewModel tmp = new SalesReturnListViewModel();
                        tmp.Id = itm.Id;
                        tmp.RefNo = itm.RefNo;
                        tmp.CreatedDate = itm.CreatedDate;
                        switch (itm.PartyType)
                        {
                            case 1:
                                ERPOptima.Data.Sales.Repository.DistributorRepository rposDistrbutor = new DistributorRepository(dbfactory);
                                tmp.Party = rposDistrbutor.GetById((int)itm.Party).Name;
                                break;
                            case 2:
                                ERPOptima.Data.Sales.Repository.RetailerRepository rposRetailer = new RetailerRepository(dbfactory);
                                tmp.Party = rposRetailer.GetById((int)itm.Party).Name;
                                break;
                            case 3:
                                ERPOptima.Data.Sales.Repository.DealerRepository rposDealer = new DealerRepository(dbfactory);
                                tmp.Party = rposDealer.GetById((int)itm.Party).Name;
                                break;
                            case 4:
                                ERPOptima.Data.Sales.Repository.CorporateClientRepository rposCorporateClient = new CorporateClientRepository(dbfactory);
                                tmp.Party = rposCorporateClient.GetById((int)itm.Party).Name;
                                break;
                        }
                        returnList.Add(tmp);
                    }
                }

            }
            catch (Exception)
            {
            }
            //if (dt != null && dt.Rows.Count > 0)
            //{
            //    list = dt.DataTableToList<SalesReturnListViewModel>();
            //}
            return returnList;
        }
Пример #14
0
 public List <Retailer> GetRetailers(int storeId, int?take, bool isActive)
 {
     return(RetailerRepository.GetRetailers(storeId, take, isActive));
 }
Пример #15
0
 public async Task <Retailer> GetRetailerAsync(int retailerId)
 {
     return(await RetailerRepository.GetRetailerAsync(retailerId));
 }
Пример #16
0
        public ActionResult Delete(int id)
        {
            Retailer retailer = RetailerRepository.GetSingle(id);

            return(View(retailer));
        }
Пример #17
0
 public RetailerService()
 {
     _repository = RetailerRepository.Instance;
 }