public Task <Tuple <List <ChatModel>, TranStatus> > getsaleschats(ChatModel model)
 {
     using (salesRepository = new SalesRepository())
     {
         return(salesRepository.getsaleschats(model));
     }
 }
示例#2
0
        /// <summary>
        /// Registar pago de venta empleado
        /// </summary>
        /// <param name="venta">Dto con la información de venta a empleado</param>
        /// <param name="codigoTransaccion"><Código de transaccion/param>
        /// <returns>Resultado de la operación</returns>
        public OperationResponse RealizarVenta(ProcesarMovimientoVentaEmpleadoRequest venta, int codigoTransaccion, int codigoTienda, int codigoCaja)
        {
            DateTime          fecha             = new SalesRepository().ObtenerFecha(venta.FolioOperacionAsociada);
            int               codigoEmpresa     = repositorio.ObtenerCompania();
            OperationResponse operationResponse = new OperationResponse();

            try
            {
                ProxyVentaEmpleado.InfoVenta resultInfoVenta = proxy.RealizarVenta(codigoEmpresa, venta.CodigoEmpleado.ToString(), codigoTienda, codigoCaja, double.Parse(venta.ImporteVentaTotal.ToString()), venta.MontoFinanciado, venta.FolioOperacionAsociada, codigoTransaccion, fecha);
                if (resultInfoVenta.sError == "")
                {
                    operationResponse.CodeDescription = resultInfoVenta.sMensaje;
                    operationResponse.CodeNumber      = "1";
                }
                else
                {
                    operationResponse.CodeDescription = resultInfoVenta.sError;
                    operationResponse.CodeNumber      = "0";
                }
            }
            catch (Exception ex)
            {
                operationResponse.CodeDescription = ex.Message;
                operationResponse.CodeNumber      = "0";
            }
            return(operationResponse);
        }
示例#3
0
        public SalesRepositoryTest()
        {
            const string connectionUrl  = "mongodb://localhost:27017/SalesDB";
            var          mongoDbService = new MongoService(connectionUrl);

            this.salesRepository = new SalesRepository(mongoDbService);
        }
        public async Task <IPagedResponse <OrderInfo> > GetOrdersAsync(Int32 pageSize = 10, Int32 pageNumber = 1, Int16?currencyID = null, Int32?customerID = null, Int32?employeeID = null, Int16?orderStatusID = null, Guid?paymentMethodID = null, Int32?shipperID = null)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetOrdersAsync));

            var response = new PagedResponse <OrderInfo>();

            try
            {
                // Get query
                var query = SalesRepository
                            .GetOrders(currencyID, customerID, employeeID, orderStatusID, paymentMethodID, shipperID);

                // Set information for paging
                response.PageSize   = (Int32)pageSize;
                response.PageNumber = (Int32)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
        public async Task <ISingleResponse <Order> > RemoveOrderAsync(Int32 id)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(RemoveOrderAsync));

            var response = new SingleResponse <Order>();

            try
            {
                // Retrieve order by id
                response.Model = await SalesRepository
                                 .GetOrderAsync(new Order(id));

                if (response.Model != null)
                {
                    if (response.Model.OrderDetails.Count > 0)
                    {
                        // Restrict remove operation for orders with details
                        throw new ForeignKeyDependencyException(String.Format(SalesDisplays.RemoveOrderExceptionMessage, id));
                    }

                    // Delete order
                    await SalesRepository.DeleteOrderAsync(response.Model);

                    Logger?.LogInformation(SalesDisplays.DeleteOrderMessage);
                }
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
示例#6
0
 public void InvalidPathTest()
 {
     _repository = new SalesRepository();
     Assert.Catch <ArgumentNullException>(() => _repository.SetFilePath(null));
     Assert.Catch <ArgumentNullException>(() => _repository.SetFilePath(string.Empty));
     Assert.Catch <FileNotFoundException>(() => _repository.SetFilePath(Guid.NewGuid().ToString()));
 }
        public void DataFromFileToDb(string filePath)
        {
            using var dbContext = new AppDbContext();
            using IRepository <Client> clientRepository   = new ClientRepository(dbContext, SyncObjContainer.ClientsLocker);
            using IRepository <Manager> managerRepository = new ManagerRepository(dbContext, SyncObjContainer.ManagersLocker);
            using IRepository <Product> productRepository = new ProductRepository(dbContext, SyncObjContainer.ProductsLocker);
            ISalesRepository salesRepository = new SalesRepository(dbContext, SyncObjContainer.SalesLocker);
            var csvDataContainer             = CsvParcer.GetDataFromCsv(filePath);
            var manager = managerRepository.Get(CsvParcer.GetManagerSurname(filePath));
            var sales   = new List <Sales>();

            foreach (var item in csvDataContainer)
            {
                var sale = new Sales()
                {
                    Product  = productRepository.Get(item.Product),
                    Client   = clientRepository.Get(item.Client),
                    Manager  = manager,
                    SaleCost = item.SaleSum,
                    SaleDate = item.SaleDate
                };
                sales.Add(sale);
            }
            salesRepository.AddSales(sales);
        }
 //Display
 public async Task <List <SalesListModel> > RegisteredSalesList()
 {
     using (salesRepository = new SalesRepository())
     {
         return(await salesRepository.RegisteredSalesList());
     }
 }
示例#9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            ISalesRepository rp = new SalesRepository();
            //var testobs = rp.CreateTestObjects(5000000);
            Stopwatch st = Stopwatch.StartNew();
            //bulkinsert();
            //rp.Add1(5000000);
            //Random ran = new Random();
            var p = new SalesRepository();

            WorkC();
            //p.proSelectAll();
            /*rp.GetById(39874691);*///00:00:00.0862029
            //using (var session = FluentNHibernateHleper.GetStatelessSession())
            //using (ITransaction tran = session.BeginTransaction())
            //{
            //    for (int i = 0; i < 5000000; i++)
            //    {
            //        Sales s = new Sales() { Id = i+1  };
            //        session.Delete(s);
            //    }
            //    tran.Commit();
            //}
            GC.Collect();

            st.Stop();
            Console.WriteLine(st.Elapsed);
            //WorkA();
            /*rp.Delete();*/ //Xoá tat ca record su dung SQL
            //WorkA();
            //WorkB();
            //WorkC();
            Console.ReadKey();
        }
 //Change Status Sales
 public async Task <TranStatus> ChangeStatusSales(int id)
 {
     using (salesRepository = new SalesRepository())
     {
         return(await salesRepository.ChangeStatusSales(id));
     }
 }
        // SalesLogout

        public async Task <TranStatus> SalesLogout(int id)
        {
            using (salesRepository = new SalesRepository())
            {
                return(await salesRepository.SalesLogout(id));
            }
        }
        //UpdateSalesProfile
        //public Task<TranStatus> updateSalesProfile(updateSalesModel model)
        //{
        //    using (salesRepository = new SalesRepository())
        //    {
        //        return salesRepository.updateSalesProfile(model);
        //    }
        //}

        public Task <Tuple <List <updateSalesModel>, TranStatus> > updateSalesProfile(updateSalesModel model)
        {
            using (salesRepository = new SalesRepository())
            {
                return(salesRepository.updateSalesProfile(model));
            }
        }
        // SalesLogout
        //public Task<TranStatus> SalesLogout(SalesModel model)
        //{
        //    using (salesRepository = new SalesRepository())
        //    {
        //        return salesRepository.SalesLogout(model);

        //    }
        //}


        // Login

        //SalesRepository salesloginRepository = null;
        //public Task<TranStatus> SalesLogin(SalesLoginModel model)
        //{
        //    using (salesloginRepository = new SalesRepository())
        //    {
        //        return salesloginRepository.SalesLogin(model);

        //    }
        //}

        public Task <Tuple <List <SalesLoginModel>, TranStatus> > SalesLogin(SalesLoginModel model)
        {
            using (salesRepository = new SalesRepository())
            {
                return(salesRepository.SalesLogin(model));
            }
        }
 public Task <Tuple <List <StatusModel>, TranStatus> > getadminstatus(StatusModel model)
 {
     using (salesRepository = new SalesRepository())
     {
         return(salesRepository.getadminstatus(model));
     }
 }
        public async Task <ISingleModelResponse <Order> > RemoveOrderAsync(Int32 id)
        {
            Logger?.LogInformation("{0} has been invoked", nameof(RemoveOrderAsync));

            var response = new SingleModelResponse <Order>();

            try
            {
                response.Model = await SalesRepository.GetOrderAsync(new Order(id));

                if (response.Model?.OrderDetails.Count > 0)
                {
                    throw new ForeignKeyDependencyException(String.Format(SalesDisplays.RemoveOrderExceptionMessage, id));
                }

                await SalesRepository.DeleteOrderAsync(response.Model);

                Logger?.LogInformation(SalesDisplays.DeleteOrderMessage);
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
示例#16
0
        public static void WorkC()
        {
            ISalesRepository    rp  = new SalesRepository();
            IPurchaseRepository rp1 = new PurchaseRepository();
            Random ran = new Random();

            Purchase p = new Purchase()
            {
                purchaseperson = "Cong lo"
            };
            Sales s = new Sales()
            {
                Salesperson = "qua duong"
            };
            object    ob = new object();
            Stopwatch st = Stopwatch.StartNew();
            //Task t1 = Task.Run(() =>
            //    {
            //        rp1.Add(p);
            //        rp.Add(s);
            //        rp1.Add(p);
            //        rp1.Add(p);
            //        rp.Add(s);

            //    });
            //Task t2 = Task.Run(() =>
            //  {
            //      int randomID = ran.Next(1, 1000000);
            //      rp.GetById(randomID);
            //      rp1.GetById(randomID+100);
            //      rp1.Add(p);
            //      rp.Add(s);
            //  });
            //Task.WaitAll(t1,t2);
            var tasks = new Task[3];

            for (int i = 0; i < tasks.Length; i++)
            {
                tasks[0] = Task.Run(() =>
                {
                    rp.Add(s);
                    rp1.Add(p);
                    rp1.Add(p);
                });
                tasks[1] = Task.Run(() =>
                {
                    int randomID = ran.Next(1, 1000000);
                    rp.GetById(randomID);
                    rp1.GetById(randomID + 100);
                });
                tasks[2] = Task.Run(() =>
                {
                    rp1.Add(p);
                    rp.Add(s);
                });
            }
            Task.WaitAll(tasks);
            st.Stop();
            Console.WriteLine(st.Elapsed);
        }
示例#17
0
        public void Setup()
        {
            var path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), _cvsFileName);

            _repository = new SalesRepository();
            _repository.SetFilePath(path);
        }
        public async Task <ICollection <SalesView> > GetAllAsync()
        {
            using var salesRepository = new SalesRepository();
            var sales = await salesRepository.GetAllWithIncludeAsync();

            return(_mapper.Map <ICollection <SalesView> >(sales));
        }
        public TwiMLResult CaptureRecording(string phoneNumber, string RecordingUrl)
        {
            Customer customer = new Customer
            {
                FirstName   = "x",
                LastName    = "x",
                Address     = "x",
                PhoneNumber = phoneNumber,
                MessageURL  = RecordingUrl
            };
            SalesRepository repo = new SalesRepository();

            repo.AddCustomer(customer);
            Order o = new Order
            {
                CustomerID      = customer.CustomerID,
                OrderDate       = DateTime.Now,
                TotalQuantity   = 0,
                TotalCost       = 0,
                TotalAmountPaid = 0
            };

            repo.CreateOrder(o);
            Session["orderId"] = o.OrderID;
            return(ChooseItem());
        }
        public SalesView Get(int?id)
        {
            using var salesRepository = new SalesRepository();
            var sales = salesRepository.Get(id);

            return(_mapper.Map <SalesView>(sales));
        }
示例#21
0
        public TwiMLResult ConfirmItem(int pID, decimal price, int itemCode, string digits)
        {
            var response = new VoiceResponse();

            if (digits == "1")
            {
                SalesRepository repo = new SalesRepository();
                OrderDetail     od   = new OrderDetail
                {
                    OrderID   = (int)Session["orderId"],
                    ProductID = pID,
                    SizeID    = 32,
                    Quantity  = 1,
                    Price     = price
                };
                repo.CreateOrderDetail(od, (int)Session["orderId"]);
                Session["orderDetailId"] = od.OrderDetailID;
                response.Redirect("/Sales/ChooseSize?pID=" + pID);
            }
            else if (digits == "2")
            {
                response.Redirect("/Welcome/ChooseItem");
            }
            else
            {
                response.Say("Invalid choice", voice: "alice", language: "en-US");
                response.Redirect("/Sales/Choose?digits=" + pID);
            }
            return(TwiML(response));
        }
        public void Add(SalesView salesView)
        {
            using var salesRepository = new SalesRepository();
            var sales = _mapper.Map <Sales>(salesView);

            salesRepository.AddSale(sales);
        }
        public async Task <ISingleResponse <CreateOrderRequest> > GetCreateOrderRequestAsync()
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetCreateOrderRequestAsync));

            var response = new SingleResponse <CreateOrderRequest>();

            try
            {
                // Retrieve customers list
                response.Model.Customers = await SalesRepository.GetCustomers().ToListAsync();

                // Retrieve employees list
                response.Model.Employees = await HumanResourcesRepository.GetEmployees().ToListAsync();

                // Retrieve shippers list
                response.Model.Shippers = await SalesRepository.GetShippers().ToListAsync();

                // Retrieve products list
                response.Model.Products = await ProductionRepository.GetProducts().ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
        public void Update(SalesView salesView)
        {
            using var salesRepository = new SalesRepository();
            var sales = _mapper.Map <Sales>(salesView);

            salesRepository.Update(sales);
        }
        public async Task <IPagedResponse <Currency> > GetCurrenciesAsync(Int32 pageSize = 10, Int32 pageNumber = 1)
        {
            Logger?.LogDebug("{0} has been invoked", nameof(GetCurrenciesAsync));

            var response = new PagedResponse <Currency>();

            try
            {
                // Get query
                var query = SalesRepository.GetCurrencies();

                // Set information for paging
                response.PageSize   = (Int32)pageSize;
                response.PageNumber = (Int32)pageNumber;
                response.ItemsCount = await query.CountAsync();

                // Retrieve items, set model for response
                response.Model = await query
                                 .Paging(pageSize, pageNumber)
                                 .ToListAsync();
            }
            catch (Exception ex)
            {
                response.SetError(ex, Logger);
            }

            return(response);
        }
示例#26
0
        public ActionResult QuarterlyCommission()
        {
            var        repo         = new SalesRepository();
            List <int> yearsOfSales = repo.GetYearsOfSales();

            return(View(yearsOfSales));
        }
示例#27
0
        public IHttpActionResult MonthlySalesForYearReport(int year)
        {
            SalesRepository salesRepository = new SalesRepository();

            List <SumGroupByModel> monthlyInfoForYear = salesRepository.GetMonthlySalesDataForAYear(year);

            monthlyInfoForYear = salesRepository.GetMonthlySalesDataForAYear(year);

            List <BarChartModel> chart = new List <BarChartModel>();

            string[] months = { "Jan", "Feb", "March", "April", "May", "June", "July", "Aug", "Sep", "Oct", "Nov", "Dec" };

            int i, j;
            int count = monthlyInfoForYear.Count();

            //Adding All the Months and Giving the Sum Amount Zero to the chart
            for (i = 0; i < 12; i++)
            {
                BarChartModel barChartModel = new BarChartModel(months[i], 0);
                chart.Add(barChartModel);
            }

            //Now Assigning Value to the months where the Sum Amount exists for that particular month
            for (i = 0; i < count; i++)
            {
                chart[monthlyInfoForYear[i].Id - 1].Y = monthlyInfoForYear[i].Column1;
            }
            return(Ok(chart));
        }
        private async void LoadSalesByEmployee(string employee)
        {
            var searchedEmployee = await SalesRepository.GetInstance().FetchSalesByEmployee(employee);

            SalesRepeater.DataSource = searchedEmployee;
            SalesRepeater.DataBind();
        }
示例#29
0
        public void CreateOrder(Order header, OrderDetail[] details)
        {
            using (var transaction = DbContext.Database.BeginTransaction())
            {
                try
                {
                    SalesRepository.AddOrder(header);

                    foreach (var detail in details)
                    {
                        detail.OrderID = header.OrderID;

                        SalesRepository.AddOrderDetail(detail);

                        var productInventory = new ProductInventory
                        {
                            ProductID = detail.ProductID,
                            EntryDate = DateTime.Now,
                            Quantity  = detail.Quantity
                        };

                        ProductionRepository.AddProductInventory(productInventory);
                    }

                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    transaction.Rollback();

                    throw ex;
                }
            }
        }
        // Sales List in dropdown

        public async Task <List <SalesList_DropdownModel> > SalesList_dropdown(SalesList_DropdownModel model)
        {
            using (salesRepository = new SalesRepository())
            {
                return(await salesRepository.SalesList_dropdown(model));
            }
        }