Exemplo n.º 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();
            }
        }
Exemplo n.º 2
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);
                        }
                    }
                }
            }
        }
Exemplo n.º 3
0
        public int?GetId(SaleInfo saleInfo)
        {
            var tmp = _context.SaleInfoes.FirstOrDefault(s => (s.Id == saleInfo.Id));

            if (tmp == null)
            {
                return(null);
            }
            return(tmp.Id);
        }
        public void Create(DAL.Models.SaleInfo itemSaleInfo)
        {
            var mapper = new MapperConfiguration(cfg => cfg.CreateMap <DAL.Models.SaleInfo, SaleInfo>()
                                                 .ForMember("ProductId", opt => opt.MapFrom(s => s.ProductId))
                                                 .ForMember("ClientId", opt => opt.MapFrom(s => s.ClientId))
                                                 .ForMember("ManagerId", opt => opt.MapFrom(s => s.ManagerId))
                                                 .ForMember("DateOfSale", opt => opt.MapFrom(s => s.DateOfSale))).CreateMapper();
            SaleInfo saleInfo = mapper.Map <DAL.Models.SaleInfo, SaleInfo>(itemSaleInfo);

            _modelOfSalesContainer.SaleInfoSet.Add(saleInfo);
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
        public void Update(SaleInfo saleInfo)
        {
            var sale = _context.SaleInfoes.FirstOrDefault(x => x.Id == saleInfo.Id);

            if (sale == null)
            {
                return;
            }
            sale.ManagerId = saleInfo.ManagerId;
            sale.ClientId  = saleInfo.ClientId;
            sale.ProductId = saleInfo.ProductId;
            sale.Date      = saleInfo.Date;
            sale.Amount    = saleInfo.Amount;
        }
Exemplo n.º 7
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();
            }
        }
Exemplo n.º 8
0
 public void Create(SaleInfo saleInfo)
 {
     //Mapper.Initialize(cfg => cfg.CreateMap<Models.SaleInfo, Model.SaleInfo>());
     //_context.SaleInfoes.Add(Mapper.Map<Models.SaleInfo, Model.SaleInfo>(saleInfo));
     _context.SaleInfoes.Add(ObjectToEntity(saleInfo));
 }
Exemplo n.º 9
0
        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();
        }