public IEnumerable <ValidationResult> Validate(ValidationContext validationContext) { var validator = new EmployeeViewModelValidator(); var result = validator.Validate(this); return(result.Errors.Select(item => new ValidationResult(item.ErrorMessage, new[] { item.PropertyName }))); }
/// <summary> /// The add employee. /// </summary> /// <param name="employeeViewModel"> /// The employee. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public Task<QTecResponse<bool>> SaveEmployee(EmployeeViewModel employeeViewModel) { return Task.Run(async () => { var exceptions = new Dictionary<string, string>(); var response = new QTecResponse<bool>(); try { var validator = new EmployeeViewModelValidator(ServiceLocator.Current.GetInstance<IEmployeeManager>()); var result = validator.Validate(employeeViewModel); if (result.IsValid) { var employee = AutoMapper.Mapper.Map<EmployeeViewModel, Employee>(employeeViewModel); if (employeeViewModel.EmployeeId > 0) { await this.qtecunitofWork.EmployeeRepository.Update(employee); } else { await this.qtecunitofWork.EmployeeRepository.Insert(employee); } var recordsAffected = await this.qtecunitofWork.SaveChangesAsync(); if (recordsAffected > 0) { response.Response = true; response.Exceptions = exceptions; } } else { response.Response = false; foreach (var validationError in result.Errors) { exceptions.Add(validationError.PropertyName, validationError.ErrorMessage); } } } catch (SqlException sqlException) { exceptions.Add("SqlException", sqlException.Message); response.Response = false; } response.Exceptions = exceptions; return response; }); }
/// <summary> /// The add employee. /// </summary> /// <param name="employeeViewModel"> /// The employee. /// </param> /// <returns> /// The <see cref="Task"/>. /// </returns> public Task <QTecResponse <bool> > SaveEmployee(EmployeeViewModel employeeViewModel) { return(Task.Run(async() => { var exceptions = new Dictionary <string, string>(); var response = new QTecResponse <bool>(); try { var validator = new EmployeeViewModelValidator(ServiceLocator.Current.GetInstance <IEmployeeManager>()); var result = validator.Validate(employeeViewModel); if (result.IsValid) { var employee = AutoMapper.Mapper.Map <EmployeeViewModel, Employee>(employeeViewModel); if (employeeViewModel.EmployeeId > 0) { await this.qtecunitofWork.EmployeeRepository.Update(employee); } else { await this.qtecunitofWork.EmployeeRepository.Insert(employee); } var recordsAffected = await this.qtecunitofWork.SaveChangesAsync(); if (recordsAffected > 0) { response.Response = true; response.Exceptions = exceptions; } } else { response.Response = false; foreach (var validationError in result.Errors) { exceptions.Add(validationError.PropertyName, validationError.ErrorMessage); } } } catch (SqlException sqlException) { exceptions.Add("SqlException", sqlException.Message); response.Response = false; } response.Exceptions = exceptions; return response; })); }