public GeneralResponse EditCustomerContactTemplate(IEnumerable <EditCustomerContactTemplateRequest> requests,
                                                           Guid ModifiedEmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (var request in requests)
                {
                    CustomerContactTemplate customerContactTemplate = new CustomerContactTemplate();
                    customerContactTemplate                  = _customerContactTemplateRepository.FindBy(request.ID);
                    customerContactTemplate.Title            = request.Title;
                    customerContactTemplate.Group            = _groupRepository.FindBy(request.GroupId);
                    customerContactTemplate.ModifiedDate     = PersianDateTime.Now;
                    customerContactTemplate.ModifiedEmployee = _employeeRepository.FindBy(ModifiedEmployeeID);

                    _customerContactTemplateRepository.Save(customerContactTemplate);
                }

                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }
            return(response);
        }
        public GeneralResponse DeleteCustomerCOntactTemplate(IEnumerable <DeleteRequest> requests)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (var request in requests)
                {
                    CustomerContactTemplate customerContactTemplate = new CustomerContactTemplate();

                    customerContactTemplate = _customerContactTemplateRepository.FindBy(request.ID);
                    _customerContactTemplateRepository.Remove(customerContactTemplate);
                }
                _uow.Commit();
            }

            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }
            return(response);
        }
        public GeneralResponse AddCustomerContactTemplate(IEnumerable <AddCustomerContactTemplateRequest> requests,
                                                          Guid EmployeeID)
        {
            GeneralResponse response = new GeneralResponse();

            try
            {
                foreach (var request in requests)
                {
                    CustomerContactTemplate customerContactTemplate = new CustomerContactTemplate();
                    customerContactTemplate.ID             = Guid.NewGuid();
                    customerContactTemplate.CreateDate     = PersianDateTime.Now;
                    customerContactTemplate.RowVersion     = 1;
                    customerContactTemplate.CreateEmployee = _employeeRepository.FindBy(EmployeeID);
                    customerContactTemplate.Group          = _groupRepository.FindBy(request.GroupId);
                    customerContactTemplate.Title          = request.Title;

                    #region Validation

                    if (customerContactTemplate.GetBrokenRules().Any())
                    {
                        foreach (var item in customerContactTemplate.GetBrokenRules())
                        {
                            response.ErrorMessages.Add(item.Rule);
                        }
                        return(response);
                    }

                    #endregion

                    _customerContactTemplateRepository.Add(customerContactTemplate);
                }
                _uow.Commit();
            }
            catch (Exception ex)
            {
                response.ErrorMessages.Add(ex.Message);
                if (ex.InnerException != null)
                {
                    response.ErrorMessages.Add(ex.InnerException.Message);
                }
            }

            return(response);
        }
 public static CustomerContactTemplateView ConvertToCustomerContactTemplateView(
     this CustomerContactTemplate customerContactTemplate)
 {
     return(Mapper.Map <CustomerContactTemplate, CustomerContactTemplateView>(customerContactTemplate));
 }