/// <summary> /// Updates the data of the postal operator /// </summary> /// <param name="postOperatorDto">Instance Dto the postal operator</param> public void UpdatePostOperator(PostOperatorDto postOperatorDto) { var mapper = new MapperConfiguration(cfg => cfg.CreateMap <PostOperatorDto, PostOperator>()).CreateMapper(); PostOperator postOperator = mapper.Map <PostOperator>(postOperatorDto); var results = postOperatorsValidator.Validate(postOperator); if (results.IsValid) { postOperatorsRepository.Update(postOperator); } else { throw new Exception("Помилка валідації поштового оператора: " + Environment.NewLine + ValidationResultsHelper.GetValidationErrors(results)); } }
/// <summary> /// Returns postal operator by Id /// </summary> /// <param name="postOperatorId">PostOperator Id</param> /// <returns>Instance of the postal operator</returns> public IPostOperator GetById(int postOperatorId) { IPostOperator postOperator = new PostOperator(); using (SqlConnection conn = new SqlConnection(connectionString)) { try { conn.Open(); } catch (SqlException) { throw new Exception("Немає підключення до бази даних."); } SqlCommand cmd = new SqlCommand { Connection = conn, CommandText = "dbo.sp_PostOperators_SelectById", CommandType = CommandType.StoredProcedure, }; cmd.Parameters.AddWithValue("@Id", postOperatorId); try { using (SqlDataReader reader = cmd.ExecuteReader()) { reader.Read(); postOperator.Id = postOperatorId; postOperator.Name = reader["Name"].ToString(); postOperator.LinkToSearchPage = reader["LinkToSearchPage"].ToString(); postOperator.PathToLogoImage = reader["PathToLogoImage"].ToString(); postOperator.IsActive = bool.Parse(reader["IsActive"].ToString()); postOperator.Notes = reader["Notes"].ToString(); } } catch (SqlException) { throw new Exception("Помилка отримання екземпляру поштового оператора з бази даних."); } } return(postOperator); }
public void Add_ShouldReturn_Success() { //Arrange PostOperatorDto postOperatorDto = new PostOperatorDto { Name = "Нова Пошта", LinkToSearchPage = "link123", PathToLogoImage = "path123", IsActive = true, Notes = "notes 3" }; PostOperator postOperator = new PostOperator { Name = postOperatorDto.Name, LinkToSearchPage = postOperatorDto.LinkToSearchPage, PathToLogoImage = postOperatorDto.PathToLogoImage, IsActive = postOperatorDto.IsActive, Notes = postOperatorDto.Notes }; mockPostOperatorsRepo.Setup(po => po.Create(postOperator)); PostOperatorService postOperatorService = new PostOperatorService(connString, mockPostOperatorsRepo.Object); try { // Act postOperatorService.Add(postOperatorDto); operationSucceded = true; } catch (Exception ex) { errorMessage = ex.Message + " | " + ex.StackTrace; } // Assert Assert.IsTrue(operationSucceded, errorMessage); }