示例#1
0
        public SaleViewModel GetAllSales()
        {
            IEnumerable <Sale> sales = this.Context.Sales;
            SaleViewModel      model = new SaleViewModel();

            foreach (var v in sales)
            {
                model = new SaleViewModel()
                {
                    Car =
                        new AnyCarViewModel()
                    {
                        Make            = v.Car.Make,
                        Model           = v.Car.Model,
                        TravellDistance =
                            v.Car.TravelledDistance
                    },
                    Customer =
                        new CustomerViewModel()
                    {
                        BirthDate =
                            v.Customer.BirthDate,
                        IsYoungDriver =
                            v.Customer
                            .IsYoungDriver,
                        Name = v.Customer.Name
                    },
                    Discount = v.Discount,
                    Price    = 20
                };
            }
            return(model);
        }
示例#2
0
        public async Task <IActionResult> RankSale([FromBody] SaleViewModel saleViewModel)
        {
            var originalUser = await _helpService.ExistUser(User);

            if (originalUser == null)
            {
                return(BadRequest());
            }

            if (saleViewModel.Id > 0 && saleViewModel.RankSale > 0)
            {
                var user = _catalogService.GetUserByOriginalId(originalUser.Id);

                var amountRanks = await _catalogService.CheckRankSaleUser(saleViewModel.Id, user.Id);

                if (amountRanks > 0)
                {
                    return(BadRequest());
                }

                await _catalogService.AddRankForSale(saleViewModel.Id, saleViewModel.RankSale, user.Id);

                return(Ok());
            }
            return(BadRequest());
        }
        public IActionResult Edit(SaleViewModel svm)
        {
            JobRepository.UpdateJob(svm.Job);
            SaleRepository.UpdateSale(svm.Sale);

            return(RedirectToAction("Table"));
        }
示例#4
0
        public SaleModel SaveSaleDetails(SaleViewModel saleviewmodel)
        {
            //Sale salemodel = new Sale();
            //SaleDetailModel saledetailmodel = new SaleDetailModel();
            //salemodel.BillNo = saleviewmodel.BillNo;
            //salemodel.PartyId = saleviewmodel.PartyId;
            //salemodel.CreatedDate = saleviewmodel.CreatedDate;
            //salemodel.Total = saleviewmodel.Total;
            //saleviewmodel.GrandTotal = saleviewmodel.GrandTotal;

            Mapper.Initialize(cfg => { cfg.CreateMap <SaleViewModel, Sale>(); });

            var item = Mapper.Map <Sale>(saleviewmodel);

            Sale sale = _iSaleRepository.Insert(item);

            Mapper.Initialize(cfg => { cfg.CreateMap <SaleDetailViewModel, SaleDetail>(); });

            var saleDetailList = Mapper.Map <List <SaleDetail> >(saleviewmodel.SaleDetailList);

            foreach (var saleDeatilData in saleDetailList)
            {
                saleDeatilData.SaleId = sale.SaleId;
                _iSaleDetailRepository.Insert(saleDeatilData);
            }


            return(null);
        }
示例#5
0
        /// <summary>
        /// Save User.
        /// </summary>
        // Author: Mod Nattasit
        // Updated: 07/07/2019
        public void SaveUser(UserViewModel userViewModel = null, SaleViewModel saleViewModel = null, CustomerViewModel customerViewModel = null, int?roleId = null)
        {
            #region Create Object to Save

            User user = new User();

            if (userViewModel != null)
            {
                user.Name     = userViewModel.Name;
                user.Username = userViewModel.Username;
                user.Password = Crypto.Hash(userViewModel.Password);
                user.RoleName = "Admin";
            }
            else if (saleViewModel != null)
            {
                user.Name     = saleViewModel.Firstname + " " + saleViewModel.Lastname;
                user.Username = saleViewModel.Username;
                user.Password = Crypto.Hash(saleViewModel.Password);
                user.RoleName = "Sale";
                user.RoleId   = roleId;
            }
            else if (customerViewModel != null)
            {
                user.Name     = customerViewModel.Firstname + " " + customerViewModel.Lastname;
                user.Username = customerViewModel.Username;
                user.Password = Crypto.Hash(customerViewModel.Password);
                user.RoleName = "Customer";
                user.RoleId   = roleId;
            }

            #endregion

            _unitOfWork.Users.Add(user);
        }
示例#6
0
        public void Update(SaleViewModel item)
        {
            Sale sale = mapper.Map <Sale>(item);

            saleRepository.Update(sale);
            saleRepository.SaveChanges();
        }
示例#7
0
        public ActionResult Index()
        {
            SaleViewModel saleViewModel = new SaleViewModel();

            saleViewModel.Sales = _salesManager.GetAll();
            return(View(saleViewModel));
        }
示例#8
0
        public void AddProduct(ProductViewModel productVM, SaleViewModel saleVM)
        {
            var product = productService.GetEntity(productVM);
            var sale    = saleService.GetEntity(saleVM);

            cart.AddProduct(sale, product);
        }
        public void ReserveProduct(SaleViewModel model) //Chamado quando colocar no carrinho // Criar objeto carrinho (ViewModel) SaleViewModel
        {
            var productTransaction = new ProductTransaction
            {
                ProductId            = model.ProductId,
                ProductTransactionId = 0,
                Quantity             = model.Quantity,
                StockId           = model.StockId,
                TransactionTypeId = transactionService.GetTransactionTypeByDescription("Reserva").TransactionTypeId,
                UnityValue        = model.AverageCost,
                UserId            = model.UserId
            };

            productTransaction = transactionService.CreateProductTransaction(productTransaction);

            var sale = new Sale
            {
                CreateDate           = DateTime.Now,
                ExpirationDate       = DateTime.Now.AddDays(1),
                Quantity             = model.Quantity,
                SaleId               = 0,
                Status               = "Reservado",
                TotalPrice           = model.AverageCost * model.Quantity,
                ProductTransactionId = productTransaction.ProductTransactionId
            };

            CreateSale(sale);
        }
        public IActionResult CreateSalePage(int empID)  // retrieve as parameter
        {
            SaleViewModel svm = new SaleViewModel();

            svm.EmployeeID = empID;
            return(View(svm)); // send data  to the View
        }
示例#11
0
        public ActionResult Create()
        {
            var empty = new SaleViewModel();
            var data  = empty.ToVM();

            return(View(data));
        }
示例#12
0
        public IActionResult Put(int id, [FromBody] SaleViewModel sale)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sale _saleDb = _saleRepository.GetSingle(id);

            if (_saleDb == null)
            {
                return(NotFound());
            }
            else
            {
                _saleDb.SellerId = sale.SellerId;
                _saleDb.Price    = sale.Price;
                _saleDb.CardNo   = sale.CardNo;

                _saleRepository.Commit();
            }

            sale = Mapper.Map <Sale, SaleViewModel>(_saleDb);

            return(new NoContentResult());
        }
示例#13
0
        /// <summary>
        /// Update Sale.
        /// </summary>
        // Author: Mod Nattasit
        // Updated: 07/07/2019
        public void UpdateSale(SaleViewModel saleViewModel)
        {
            #region Update Sale

            #region Create Object to Update

            Sale sale = new Sale()
            {
                Id          = saleViewModel.Id,
                Firstname   = saleViewModel.Firstname,
                Lastname    = saleViewModel.Lastname,
                Address     = saleViewModel.Address,
                PhoneNumber = saleViewModel.PhoneNumber,
                Email       = saleViewModel.Email
            };

            #endregion

            _unitOfWork.Sales.Update(sale);

            #endregion

            #region Update Password Of User

            if (saleViewModel.IsChangePassword)
            {
                var user = _unitOfWork.Users.GetUserByRoleId(saleViewModel.Id);

                user.Password = Crypto.Hash(saleViewModel.NewPassword);

                _unitOfWork.Users.Update(user);
            }

            #endregion
        }
        public async Task <ActionResult> Authorize(SaleViewModel sale)
        {
            if (ModelState.IsValid)
            {
                ResponseViewModel responseObject;
                switch (sale.TypeSend)
                {
                case TypeSendEnum.SOAP:
                    responseObject = await
                                     SoapRequestService.AuthorizeTransaction(sale, CreateMercharOrderId());

                    break;

                case TypeSendEnum.REST:
                    sale.MerchantOrderId = CreateMercharOrderId();
                    responseObject       = await RestRequestService.AuthorizeTransaction(sale);

                    break;

                default:
                    throw new Exception("Type send not match!");
                }

                return(View("Index", responseObject));
            }

            return(View("SaleProduct", sale));
        }
示例#15
0
        public ActionResult Edit(int?id)
        {
            object result = 0;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var sale = db.Sales.Find(id);

            if (sale == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
            }

            var viewModel = new SaleViewModel
            {
                saleId      = sale.Id,
                Name        = sale.Name,
                Description = sale.Description,
                percent     = sale.Percent,
                startDate   = sale.StartDate.ToLocalTime().ToString("yyyy-MM-ddThh:mm"),
                endDate     = sale.EndDate.ToLocalTime().ToString("yyyy-MM-ddThh:mm"),
                status      = sale.Status
            };

            return(View(viewModel));
        }
示例#16
0
        public async Task Add(SaleViewModel saleViewModel)
        {
            var registerCommand = mapper.Map <CreateSaleCommand>(saleViewModel);

            registerCommand.Items = mapper.Map <List <OrderItem> >(saleViewModel.Items);
            await mediator.SendCommand(registerCommand);
        }
示例#17
0
        public ActionResult Details(int id)
        {
            using (var db = new SmDbContext())
            {
                var entity = db.Sales.First(x => x.Id == id);
                var model  = new SaleViewModel
                {
                    Paytype           = entity.Paytype,
                    Id                = entity.Id,
                    ClientIdentifier  = entity.Order.ClientIdentifier,
                    ClientName        = entity.Order.ClientName,
                    OrderId           = entity.OrderId,
                    RealisationDate   = entity.RealizationDate,
                    ClientAddress     = entity.Order.ClientAddress,
                    ClientDescription = entity.Order.ClientDescription,
                    Operator          = entity.Operator.Lastname + " " + entity.Operator.Firstname,
                    OrderDate         = entity.Order.OrderDate,
                };

                model.SaleItems = db.SaleItems.Where(x => x.SaleId == id).Select(x => new SaleItemViewModel
                {
                    Id               = x.Id,
                    Amount           = x.Amount,
                    Price            = x.Price,
                    GoodsId          = x.GoodsId,
                    GoodsBrand       = x.Goods.Brand,
                    GoodsCategory    = x.Goods.GoodsCategory.Name,
                    GoodsName        = x.Goods.Name,
                    GoodsSubCategory = x.Goods.GoodsSubCategory == null ? "" : x.Goods.GoodsSubCategory.Name,
                    Discount         = x.Discount,
                }).ToArray();
                return(View(model));
            }
        }
示例#18
0
        public ActionResult EditSale(int itemId, string act)
        {
            switch (act)
            {
            case "edit":
                var sale = db.Sales.Find(itemId);
                if (sale == null)
                {
                    return(RedirectToAction("Sale"));
                }
                var model = new SaleViewModel()
                {
                    Id      = sale.Id,
                    Title   = sale.Title,
                    Content = sale.Content
                };
                return(View(model));

            case "delete":
                var sales = db.Sales.Find(itemId);
                db.Sales.Remove(sales);
                db.SaveChanges();
                return(RedirectToAction("Sale"));

            default:
                Response.StatusCode = 404;
                return(HttpNotFound());
            }
        }
示例#19
0
        public ActionResult CustomerDetails()
        {
            SaleViewModel saleViewModel = new SaleViewModel();

            saleViewModel.Sales = _salesManager.GetAll();
            return(View(saleViewModel));
        }
        public async Task <SaleViewModel> AllItemsAsync(string sortOrder)
        {
            SaleViewModel sale        = new SaleViewModel();
            var           currentUser = HttpContext.User;

            try
            {
                var test = await _catalogService.LoadSortingAsync(sortOrder);

                foreach (var item in test)
                {
                    SaleViewModel saleItem = new SaleViewModel
                    {
                        Id             = item.Id,
                        Name           = item.Name,
                        PriceAfterSale = item.PriceAfterSale.ToString("C0"),
                        OriginPrice    = item.OriginPrice.ToString("C0"),
                        Image          = item.Image,
                        LinkFirm       = item.LinkFirm,
                        PercentSale    = (int)item.PercentSale
                    };

                    sale.saleCollection.collections.Add(saleItem);
                }
            } catch (Exception e)
            {
                throw new Exception(e.Message);
            }
            return(sale);
        }
示例#21
0
        public ActionResult AddSales()
        {
            SaleDetailsViewModel saleDetialsViewModel = new SaleDetailsViewModel();
            SaleViewModel        saleViewModel        = new SaleViewModel();

            saleViewModel.CustomerSelectListItems = _customerManager
                                                    .GetAll()
                                                    .Select(c => new SelectListItem()
            {
                Value = c.Id.ToString(),
                Text  = c.Name
            }).ToList();


            saleDetialsViewModel.CategorySelectListItems = _categoryManager.GetAll().Select(c => new SelectListItem()
            {
                Value = c.Id.ToString(),
                Text  = c.Name
            }).ToList();

            ViewBag.CategoryId  = saleDetialsViewModel.CategorySelectListItems;
            saleViewModel.Sales = _salesManager.GetAll();

            return(View(saleViewModel));
        }
示例#22
0
        public async Task <int> SaveTicketSaleAsync(SaleViewModel saleViewModel)
        {
            try
            {
                var buyer = new Buyer()
                {
                    BuyerName           = saleViewModel.Buyer.BuyerName,
                    BuyerLastName       = saleViewModel.Buyer.BuyerLastName,
                    BuyerIdentification = saleViewModel.Buyer.BuyerIdentification,
                    Phone        = saleViewModel.Buyer.Phone,
                    AcountNumber = saleViewModel.Buyer.AcountNumber,
                };

                var saleTicket = new TicketSale()
                {
                    NumTransaction = saleViewModel.TicketSale.NumTransaction,
                    Country        = saleViewModel.TicketSale.Country,
                    UserId         = saleViewModel.User.Id
                };


                var ticket = new Ticket()
                {
                    NumTicked = saleViewModel.Ticket.NumTicked
                };


                return(await _ticketSaleRepository.SaveTicketSaleAsync(saleTicket, buyer, ticket));
            }
            catch
            {
                throw;
            }
        }
示例#23
0
        public IHttpActionResult GetSale(int id)
        {
            var sale = UnitOfWork.Repository <Sale>()
                       .Get(x => x.SaleId == id,
                            includeProperties: "Product, Employee, Employee.Person, Client, Client.Person")
                       .SingleOrDefault();

            if (sale == null && id != 0)
            {
                return(NotFound());
            }

            var saleViewModel = new SaleViewModel();

            if (id != 0)
            {
                saleViewModel = Mapper.Map <Sale, SaleViewModel>(sale);
            }

            var clients = UnitOfWork.Repository <Client>()
                          .Get(orderBy: o => o.OrderBy(p => p.Person.LastName)
                               .ThenBy(p => p.Person.FirstName),
                               includeProperties: "Person");

            saleViewModel.Clients = Mapper.Map <IEnumerable <Client>, IEnumerable <ClientViewModel> >(clients);

            var employees = UnitOfWork.Repository <Employee>()
                            .Get(orderBy: o => o.OrderBy(p => p.Person.LastName)
                                 .ThenBy(p => p.Person.FirstName),
                                 includeProperties: "Person");

            saleViewModel.Employees = Mapper.Map <IEnumerable <Employee>, IEnumerable <EmployeeViewModel> >(employees);

            return(Ok(saleViewModel));
        }
示例#24
0
        public async Task <IActionResult> Sale(SaleViewModel model)
        {
            try
            {
                var selectedProduct = await _context.Products.FirstOrDefaultAsync(p => p.ProductId == model.ProductId);

                selectedProduct.Quantity_P -= model.Amount;
                var newOrder = new Order()
                {
                    OrderId     = model.OrderId,
                    ProductId   = model.ProductId,
                    Quantity_O  = model.Amount,
                    Date        = DateTime.Now,
                    Price       = selectedProduct.Price,
                    Total_Price = selectedProduct.Price * model.Amount
                };
                await _context.Order.AddAsync(newOrder);

                await _context.SaveChangesAsync();

                return(RedirectToAction("Bill"));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }
            ViewData["Products"] = await _context.Products.ToListAsync();

            return(View());
        }
示例#25
0
        public async Task <SaleViewModel> ItemAsync(int?id)
        {
            var user   = HttpContext.User;
            var test   = _userManager.GetUserAsync(User);
            var testId = _userManager.GetUserId(User);

            var test1 = id != null ? await _catalogService.LoadByIdAsync(id.Value) : throw new Exception(nameof(id));

            SaleViewModel saleItem = new SaleViewModel
            {
                Id             = test1.Id,
                Name           = test1.Name,
                PriceAfterSale = test1.PriceAfterSale.ToString("C0"),
                OriginPrice    = test1.OriginPrice.ToString("C0"),
                Image          = test1.Image,
                ValidFrom      = test1.ValidFrom,
                ValidTo        = test1.ValidTo,
                LinkFirm       = test1.LinkFirm,
                Description    = test1.Description,
                PercentSale    = (int)test1.PercentSale,
                DateInsert     = _helpService.TimeAgo(test1.DateInsert),
                RankSale       = test1.RankSale,
                CategoryName   = test1.Category?.Name ?? "Ostatní",
                CategoryId     = test1.Category?.Id ?? 5
            };

            return(saleItem);
        }
示例#26
0
        public bool SaveSales(SaleViewModel salesViewModel)
        {
            bool status = false;

            tbl_ProductSold product = new tbl_ProductSold();

            Mapper.Map(salesViewModel, product);
            product.ProductId    = salesViewModel.ProductId;
            product.CustomerId   = salesViewModel.CustomerId;
            product.StoreId      = salesViewModel.StoreId;
            product.DateSold     = salesViewModel.DateSold;
            product.IsActive     = true;
            product.CreatedDate  = DateTime.Now;
            product.ModifiedDate = DateTime.Now;
            product.CreatedBy    = "101";
            product.ModifiedBy   = "101";
            _Context.tbl_ProductSold.Add(product);
            _Context.Configuration.ValidateOnSaveEnabled = true;
            _Context.SaveChanges();
            status = true;


            return(status);
            // for new users
        }
示例#27
0
        public ActionResult Create(SaleViewModel model)
        {
            try
            {
                foreach (var item in Request.Form["products.index"].Split(','))
                {
                    var spvm = new SaleProductViewModel()
                    {
                        ProductId = Convert.ToInt32(item),
                        Quantity  = Convert.ToInt32(Request.Form["products[" + item + "].quantity"]),
                        UnitPrice = Convert.ToDecimal(Request.Form["products[" + item + "].unitValue"],
                                                      CultureInfo.InvariantCulture)
                    };
                    model.SaleProducts.Add(spvm);
                }

                if (!ModelState.IsValid)
                {
                    ViewBag.CustomerId =
                        new SelectList(_customerService.GetAll(), "Id", "Name", model.CustomerId);
                    return(View(model));
                }

                _service.Create(_mapper.Map <Sale>(model));
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(model));
            }
        }
示例#28
0
        /// Update Sales information
        public bool UpdateSales(SaleViewModel salesViewModel)
        {
            bool status = false;

            try
            {
                //var saledetails = _Context.tblProductSolds.FirstOrDefault(x => x.Id == user.Id);
                var _saleDetails = _Context.tbl_ProductSold.Find(salesViewModel.Id);

                if (_saleDetails != null)
                {
                    Mapper.Map(salesViewModel, _saleDetails);
                    _saleDetails.ProductId    = salesViewModel.ProductId;
                    _saleDetails.CustomerId   = salesViewModel.CustomerId;
                    _saleDetails.StoreId      = salesViewModel.StoreId;
                    _saleDetails.ModifiedDate = DateTime.Now;
                    _saleDetails.DateSold     = salesViewModel.DateSold;
                    _Context.Configuration.ValidateOnSaveEnabled = false;
                    _Context.SaveChanges();
                    status = true;
                }
            }

            catch (Exception ex)
            {
            }
            // for new users
            return(status);
        }
        public async Task <IActionResult> Index(SaleViewModel svm)
        {
            if (ModelState.IsValid)
            {
                Client client = ClientRepository.GetClientByMail(svm.Client.Mail);
                if (client == null)                            // cliente não existe
                {                                              //cadastra
                    svm.Client.Id = Guid.NewGuid().ToString(); //gera id
                    ClientRepository.CreateClient(svm.Client);
                }
                else // cliente existe
                {
                    svm.Client.Id = client.Id;//pega o id para repassar ao banco a referencia
                }
                //info que precisa mudar, apenas de teste manual
                string idJob   = Guid.NewGuid().ToString();//id de teste
                var    userObj = await userManager.GetUserAsync(User);

                string user   = userObj.Id;
                string saleId = Guid.NewGuid().ToString();
                //Job sempre vai ser novo, não tem porque checar
                Job j = new Job(svm.Client.Id, idJob, svm.Job.InstuicaoEnsino, svm.Job.NomeOrientador, svm.Job.Curso, svm.Job.Tema, svm.Job.NumPaginas, svm.Job.Previa_1, svm.Job.Previa_2, svm.Job.Previa_3, svm.Job.DataEntrega, svm.Job.Observacoes);
                JobRepository.CreateJob(j);

                Sale s = new Sale(svm.Client.Id, user, idJob, saleId, svm.Sale.Cartao, svm.Sale.Fechamento, svm.Sale.EstagioPagamento, svm.Sale.ValorTotal, svm.Sale.ValorPago);
                SaleRepository.CreateSale(s);
                ModelState.Clear();
                return(View());
            }
            ModelState.Clear();
            return(View());
        }
示例#30
0
        public bool CreateSale(SaleViewModel saleModel)
        {
            if (saleModel == null)
            {
                return(false);
            }

            SaleDTO sale = Mapper.Map <SaleDTO>(saleModel);

            SaleDTO added = _unitOfWork.Sales.Add(sale);

            if (added != null)
            {
                try
                {
                    _unitOfWork.SaveChanges();
                    var saved = _unitOfWork.Sales.Get(s => s.Customer.Equals(added.Customer) &&
                                                      s.Product.Equals(added.Product) && s.Manager.Equals(added.Manager) &&
                                                      s.Total.Equals(added.Total) && s.SaleDate.Equals(added.SaleDate)).FirstOrDefault();
                    if (saved != null)
                    {
                        saleModel.Id = saved.Id;
                    }
                    return(true);
                }
                catch (Exception e)
                {
                }
            }

            return(false);
        }