Exemple #1
0
        /// <summary>
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public ClientCustomerDTO Get(int id)
        {
            var clientCustomerDTO = new ClientCustomerDTO();
            var customer          = _unitOfWork.Customers.Get(id);

            if (customer != null)
            {
                clientCustomerDTO = AutoMapper.Mapper.Map <ClientCustomerDTO>(customer);
            }

            return(clientCustomerDTO);
        }
        /// <summary>
        /// Adds a new Customer to the database (Customers + CustomersHistory)
        /// </summary>
        /// <param name="customerDTO"></param>
        /// <returns>The added Customer</returns>
        public CustomerDTO Create(CustomerDTO customerDTO)
        {
            var clientId = _clientUserService.GetUserClientId(_currentUserId);

            // Customer
            var customer = AutoMapper.Mapper.Map <Customer>(customerDTO);

            customer.CreatedByUserId = _currentUserId;
            customer.CreatedDate     = DateTime.UtcNow;
            customer.Status          = Status.Active;

            _unitOfWork.Customers.Add(customer);
            // Have to call this here to get the new CustomerId
            _unitOfWork.SaveChanges();

            customerDTO.Id = customer.Id;

            // ClientCustomer + ClientCustomerHistory
            var clientCustomerDTO = new ClientCustomerDTO()
            {
                ClientId   = (int)clientId,
                CustomerId = customer.Id,
            };

            _clientCustomerService.Create(clientCustomerDTO);

            // History
            var customerHistory = AutoMapper.Mapper.Map <CustomerHistory>(customer);

            customerHistory.CustomerId       = customer.Id;
            customerHistory.ModifiedByUserId = _currentUserId;
            customerHistory.ModifiedDate     = customer.CreatedDate;
            customerHistory.Status           = Status.Active;

            _unitOfWork.CustomersHistory.Add(customerHistory);

            _unitOfWork.SaveChanges();

            return(customerDTO);
        }
Exemple #3
0
        /// <summary>
        /// </summary>
        /// <param name="clientCustomerDTO"></param>
        /// <returns></returns>
        public ClientCustomerDTO Create(ClientCustomerDTO clientCustomerDTO)
        {
            // first, find if there is already a row with this clientId and customerId
            var clientCustomer = (from cc in _unitOfWork.ClientCustomers.GetAll()
                                  where cc.ClientId == clientCustomerDTO.ClientId && cc.CustomerId == clientCustomerDTO.CustomerId
                                  select cc
                                  ).SingleOrDefault();

            // if it doesn't exist, create a new row
            if (clientCustomer != null)
            {
                return(this.Update(clientCustomer.Id, clientCustomerDTO));
            }

            //otherwise re-enable the existing one
            clientCustomer = AutoMapper.Mapper.Map <ClientCustomer>(clientCustomerDTO);

            clientCustomer.CreatedByUserId = _currentUserId;
            if (clientCustomer.CreatedDate != null)
            {
                clientCustomer.CreatedDate = DateTime.UtcNow;
            }
            clientCustomer.Status = Status.Active;

            _unitOfWork.ClientCustomers.Add(clientCustomer);

            // History
            var clientCustomerHistory = AutoMapper.Mapper.Map <ClientCustomerHistory>(clientCustomer);

            clientCustomerHistory.ModifiedByUserId = _currentUserId;
            clientCustomerHistory.ModifiedDate     = clientCustomer.CreatedDate;
            clientCustomerHistory.Status           = Status.Active;

            _unitOfWork.ClientCustomersHistory.Add(clientCustomerHistory);

            _unitOfWork.SaveChanges();

            return(clientCustomerDTO);
        }
Exemple #4
0
        /// <summary>
        /// </summary>
        /// <param name="id"></param>
        /// <param name="clientCustomerDTO"></param>
        /// <returns></returns>
        public ClientCustomerDTO Update(int id, ClientCustomerDTO clientCustomerDTO)
        {
            // get the existing clientCustomer
            var clientCustomer = _unitOfWork.ClientCustomers.Get(id);

            // merge the DTO
            AutoMapper.Mapper.Map(clientCustomerDTO, clientCustomer);

            _unitOfWork.ClientCustomers.Update(clientCustomer);

            // History
            var clientCustomerHistory = AutoMapper.Mapper.Map <ClientCustomerHistory>(clientCustomer);

            clientCustomerHistory.ModifiedByUserId = _currentUserId;
            clientCustomerHistory.ModifiedDate     = DateTime.UtcNow;
            clientCustomerHistory.Status           = clientCustomer.Status;

            _unitOfWork.ClientCustomersHistory.Add(clientCustomerHistory);

            _unitOfWork.SaveChanges();

            return(clientCustomerDTO);
        }