Example #1
0
        public void AddToDatabase(Journal journal)
        {
            lock (this)
            {
                var newManager = new DAL.Models.Manager { ManagerName = journal.ManagerName };
                var manager = _managerRepository.GetEntity(newManager);
                if (manager == null)
                {
                    _managerRepository.Add(newManager);
                    _managerRepository.SaveChanges();
                    manager = _managerRepository.GetEntity(newManager);
                }

                var newClient = new DAL.Models.Client { ClientName = journal.ClientName };
                _clientRepository.Add(newClient);
                _clientRepository.SaveChanges();
                var client = _clientRepository.GetEntity(newClient);

                var newProduct = new DAL.Models.Product { ProductName = journal.ProductName, ProductCost = journal.ProductCost };
                _productRepository.Add(newProduct);
                _productRepository.SaveChanges();
                var product = _productRepository.GetEntity(newProduct);

                var saleInfo = new DAL.Models.SaleInfo
                {
                    SaleDate = journal.SaleDate,
                    ID_Manager = manager.ID_Manager,
                    ID_Client = client.ID_Client,
                    ID_Product = product.ID_Product
                };
                _saleInfoRepository.Add(saleInfo);
                _saleInfoRepository.SaveChanges();
            }
        }
Example #2
0
 private DatabaseModel.ManagerSet ToEntity(DAL.Models.Manager source)
 {
     return(new DatabaseModel.ManagerSet()
     {
         Id = source.Id, FirstName = source.FirstName, SecondName = source.SecondName
     });
 }
Example #3
0
        public void Create(DAL.Models.Manager itemManager)
        {
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <DAL.Models.Manager, Manager>()
                                                 .ForMember("LastName", opt => opt.MapFrom(m => m.LastName))).CreateMapper();
            Manager manager = mapper.Map <DAL.Models.Manager, Manager>(itemManager);

            _modelOfSalesContainer.ManagerSet.Add(manager);
        }
Example #4
0
        public void Update(Manager manager)
        {
            var tmp = _context.Managers.FirstOrDefault(m => (m.Id == manager.Id));

            if (tmp != null)
            {
                tmp.SecondName = manager.SecondName;
            }
        }
Example #5
0
        public void Send(string managerLastName, SaleInfoRecord item)
        {
            lock (_lockObj)
            {
                using (_unitOfWork = new UnitOfWork())
                {
                    using (var transaction = _unitOfWork.BeginTransaction())
                    {
                        try
                        {
                            DAL.Models.Manager newManager = new DAL.Models.Manager {
                                LastName = managerLastName
                            };
                            Model.Manager manager = _unitOfWork.ManagerRepository.FindBy(m => m.LastName == newManager.LastName);
                            if (manager == null)
                            {
                                _unitOfWork.ManagerRepository.Create(newManager);
                                _unitOfWork.Save();
                                manager = _unitOfWork.ManagerRepository.FindBy(m => m.LastName == newManager.LastName);
                            }

                            DAL.Models.Product newProduct = new DAL.Models.Product {
                                Name = item.Product, Price = item.Price
                            };
                            _unitOfWork.ProductRepository.Create(newProduct);

                            DAL.Models.Client newClient = new DAL.Models.Client {
                                Name = item.Client
                            };
                            _unitOfWork.ClientRepository.Create(newClient);

                            _unitOfWork.Save();

                            Model.Product product = _unitOfWork.ProductRepository.FindBy(p => p.Name == newProduct.Name);
                            Model.Client  client  = _unitOfWork.ClientRepository.FindBy(c => c.Name == newClient.Name);

                            DAL.Models.SaleInfo newSaleInfo = new DAL.Models.SaleInfo
                            {
                                ProductId  = product.ProductId,
                                ClientId   = client.ClientId,
                                ManagerId  = manager.ManagerId,
                                DateOfSale = item.DateOfSale
                            };
                            _unitOfWork.SaleInfoRepository.Create(newSaleInfo);
                            _unitOfWork.Save();
                            transaction.Commit();
                        }
                        catch (Exception e)
                        {
                            transaction.Rollback();
                            throw new Exception(e.Source + " : Crash in sender from " + managerLastName);
                        }
                    }
                }
            }
        }
 public ActionResult Edit(DAL.Models.Manager manager)
 {
     if (ModelState.IsValid)
     {
         managerRep.Update(manager);
         managerRep.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(manager));
 }
Example #7
0
        public int?GetId(Manager manager)
        {
            var tmp = _context.Managers.FirstOrDefault(m => (m.SecondName == manager.SecondName));

            if (tmp == null)
            {
                return(null);
            }
            return(tmp.Id);
        }
 // GET: Managers/Delete/5
 public ActionResult Delete(int?id)
 {
     if (id == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     DAL.Models.Manager manager = managerRep.Items.FirstOrDefault(x => x.Id == id);
     if (manager == null)
     {
         return(HttpNotFound());
     }
     return(View(manager));
 }
        public void AddSaleInfo(SaleDTO saleDto)
        {
            lock (_locker)
            {
                var manager = new DAL.Models.Manager {
                    SecondName = saleDto.Manager
                };
                var client = new DAL.Models.Client {
                    FullName = saleDto.Client
                };
                var product = new DAL.Models.Product {
                    Name = saleDto.Product
                };

                var managerId = _repositories.Managers.GetId(manager);
                if (managerId == null)
                {
                    _repositories.Managers.Add(manager);
                    _repositories.Save();
                    managerId = _repositories.Managers.GetId(manager);
                }

                var clientId = _repositories.Clients.GetId(client);
                if (clientId == null)
                {
                    _repositories.Clients.Add(client);
                    _repositories.Save();
                    clientId = _repositories.Clients.GetId(client);
                }

                var productId = _repositories.Products.GetId(product);
                if (productId == null)
                {
                    _repositories.Products.Add(product);
                    _repositories.Save();
                    productId = _repositories.Products.GetId(product);
                }

                var saleInfo = new DAL.Models.SaleInfo()
                {
                    Date      = saleDto.Date,
                    ManagerId = (int)managerId,
                    ClientId  = (int)clientId,
                    ProductId = (int)productId,
                    Amount    = saleDto.Amount
                };

                _repositories.SalesInfo.Add(saleInfo);
                _repositories.Save();
            }
        }
 public ActionResult DeleteConfirmed(int?id)
 {
     try
     {
         DAL.Models.Manager manager = managerRep.Items.FirstOrDefault(x => x.Id == id);
         if (manager != null)
         {
             managerRep.Remove(manager);
             managerRep.SaveChanges();
             return(RedirectToAction("Index"));
         }
     }
     catch
     {
         return(View());
     }
     return(View());
 }
        public void AddToDatabase(Journal journal)
        {
            lock (this)
            {
                var newManager = new DAL.Models.Manager {
                    ManagerName = journal.ManagerName
                };
                var manager = _managerRepository.GetEntity(newManager);
                if (manager == null)
                {
                    _managerRepository.Add(newManager);
                    _managerRepository.SaveChanges();
                    manager = _managerRepository.GetEntity(newManager);
                }

                var newClient = new DAL.Models.Client {
                    ClientName = journal.ClientName
                };
                _clientRepository.Add(newClient);
                _clientRepository.SaveChanges();
                var client = _clientRepository.GetEntity(newClient);

                var newProduct = new DAL.Models.Product {
                    ProductName = journal.ProductName, ProductCost = journal.ProductCost
                };
                _productRepository.Add(newProduct);
                _productRepository.SaveChanges();
                var product = _productRepository.GetEntity(newProduct);

                var saleInfo = new DAL.Models.SaleInfo
                {
                    SaleDate   = journal.SaleDate,
                    ID_Manager = manager.ID_Manager,
                    ID_Client  = client.ID_Client,
                    ID_Product = product.ID_Product
                };
                _saleInfoRepository.Add(saleInfo);
                _saleInfoRepository.SaveChanges();
            }
        }
 public ManagerViewModel(DAL.Models.Manager manager)
 {
     this.Id         = manager.Id;
     this.FirstName  = manager.FirstName;
     this.SecondName = manager.SecondName;
 }
Example #13
0
 public void Create(Manager manager)
 {
     _context.Managers.Add(ObjectToEntity(manager));
 }
        public void UpdateSaleInfo(SaleDTO saleDto)
        {
            var manager = new DAL.Models.Manager()
            {
                SecondName = saleDto.Manager
            };
            var client = new DAL.Models.Client()
            {
                FullName = saleDto.Client
            };
            var product = new DAL.Models.Product()
            {
                Name = saleDto.Product
            };

            var managerId = _repositories.Managers.GetId(manager);

            if (managerId == null)
            {
                _repositories.Managers.Add(manager);
                _repositories.Save();
                managerId = _repositories.Managers.GetId(manager);
            }

            var clientId = _repositories.Clients.GetId(client);

            if (clientId == null)
            {
                _repositories.Clients.Add(client);
                _repositories.Save();
                clientId = _repositories.Clients.GetId(client);
            }

            var productId = _repositories.Products.GetId(product);

            if (productId == null)
            {
                _repositories.Products.Add(product);
                _repositories.Save();
                productId = _repositories.Products.GetId(product);
            }

            var saleInfo = new DAL.Models.SaleInfo()
            {
                Date      = saleDto.Date,
                ManagerId = (int)managerId,
                ClientId  = (int)clientId,
                ProductId = (int)productId,
                Amount    = saleDto.Amount
            };

            var sale = _repositories.SalesInfo.GetAll().FirstOrDefault(s => (s.Id == saleDto.Id));

            sale.Date      = saleDto.Date;
            sale.ManagerId = (int)managerId;
            sale.ClientId  = (int)clientId;
            sale.ProductId = (int)productId;
            sale.Amount    = saleDto.Amount;

            _repositories.SalesInfo.Update(sale);
            _repositories.Save();
        }