public int Insert(SponsorAddRequest data, int userId) { int sponsorId = 0; string storeProc = "[dbo].[Sponsors_Insert]"; _dataProvider.ExecuteNonQuery(storeProc , delegate(SqlParameterCollection sqlParams) { sqlParams.AddWithValue("@Name", data.Name); sqlParams.AddWithValue("@CompanyUrl", data.CompanyUrl.ToString()); sqlParams.AddWithValue("@AddressId", data.AddressId); sqlParams.AddWithValue("@PhoneNumber", data.PhoneNumber); sqlParams.AddWithValue("@ContactPerson", data.ContactPerson); sqlParams.AddWithValue("@PrimarySponsorTypeId", data.PrimarySponsorTypeId); sqlParams.AddWithValue("@UserId", userId); SqlParameter idParameter = new SqlParameter("@Id", System.Data.SqlDbType.Int); idParameter.Direction = System.Data.ParameterDirection.Output; sqlParams.Add(idParameter); }, returnParameters : delegate(SqlParameterCollection param) { Int32.TryParse(param["@Id"].Value.ToString(), out sponsorId); } ); return(sponsorId); }
public HttpResponseMessage Add(SponsorAddRequest model) { if (!ModelState.IsValid) { return(CreateErrorResponse()); } ItemResponse <int> responseBody = new ItemResponse <int>(); int userId = _auth.GetCurrentUserId(); responseBody.Item = _service.Insert(model, userId); return(Request.CreateResponse(HttpStatusCode.Created, responseBody)); }
public void Insert_Failed_PrimarySponsorTypeId_Required_Test() { //Arrange int userId = 1; SponsorAddRequest sponsor = new SponsorAddRequest { Name = "Yandex", CompanyUrl = "https://yandex.com/", AddressId = 1, PhoneNumber = "9184309283", ContactPerson = "Arkady Volozhich", //PrimarySponsorTypeId = 1 }; //Act int result = _sponsorService.Insert(sponsor, userId); //Assert Assert.IsInstanceOfType(result, typeof(int), "Id has to be int"); Assert.IsTrue(result > 0); }
public SponsorServiceTest() { List <Sponsor> sponsorProfileList = new List <Sponsor>(); Sponsor s1 = new Sponsor(); s1.Address = new Address(); s1.SponsorType = new SponsorType(); Sponsor s2 = new Sponsor(); s2.Address = new Address(); s2.SponsorType = new SponsorType(); Sponsor s3 = new Sponsor(); s3.Address = new Address(); s3.SponsorType = new SponsorType(); s1.Id = 1; s1.Name = "Google"; s1.CompanyUrl = new Uri("https://www.google.com/"); s1.Address.Id = 1; s1.PhoneNumber = "8184239283"; s1.ContactPerson = "Sundar Pichai"; s1.SponsorType.Id = 1; s2.Id = 2; s2.Name = "Facebook"; s2.CompanyUrl = new Uri("https://www.facebook.com/"); s2.Address.Id = 2; s2.PhoneNumber = "8185309283"; s2.ContactPerson = "Mark Zuckerberg"; s2.SponsorType.Id = 2; s3.Id = 3; s3.Name = "VK"; s3.CompanyUrl = new Uri("https://www.facebook.com/"); s3.Address.Id = 3; s3.PhoneNumber = "1235309283"; s3.ContactPerson = "Pavel Durov"; s3.SponsorType.Id = 3; sponsorProfileList.Add(s1); sponsorProfileList.Add(s2); sponsorProfileList.Add(s3); List <SponsorAddRequest> sponsorAddProfileList = new List <SponsorAddRequest>(); SponsorAddRequest sar1 = new SponsorAddRequest(); int userId1 = 1; sar1.Name = "Microsoft"; sar1.CompanyUrl = "https://www.microsoft.com/"; sar1.AddressId = 1; sar1.PhoneNumber = "8184309283"; sar1.ContactPerson = "Bill Gates"; sar1.PrimarySponsorTypeId = 1; sponsorAddProfileList.Add(sar1); List <SponsorUpdateRequest> sponsorUpdateProfileList = new List <SponsorUpdateRequest>(); SponsorUpdateRequest sur1 = new SponsorUpdateRequest(); sur1.Id = 1; sur1.Name = "Twitter"; sur1.CompanyUrl = "https://twitter.com/"; sur1.AddressId = 1; sur1.PhoneNumber = "2215309283"; sur1.ContactPerson = "Jack Dorsey"; sur1.PrimarySponsorTypeId = 1; sponsorUpdateProfileList.Add(sur1); List <SponsorType> sponsorTypesList = new List <SponsorType>(); SponsorType st1 = new SponsorType(); SponsorType st2 = new SponsorType(); SponsorType st3 = new SponsorType(); st1.Id = 0; st1.Name = "int"; st2.Id = 1; st2.Name = "bool"; st3.Id = 2; st3.Name = "string"; sponsorTypesList.Add(st1); sponsorTypesList.Add(st2); sponsorTypesList.Add(st3); var mock = new Mock <ISponsorService>(); mock.Setup(m => m.Insert(It.IsAny <SponsorAddRequest>(), It.IsAny <int>())).Returns( (SponsorAddRequest insertRequestModel, int userId) => { List <ValidationResult> validationResults = ValidateModal(insertRequestModel); if (validationResults.Count > 0) { throw new ValidationException(validationResults[0], null, insertRequestModel); } return(sponsorAddProfileList.Count + 1); } ); mock.Setup(m => m.Get()).Returns( () => { List <Sponsor> sponsorsList = new List <Sponsor>(); foreach (var item in sponsorProfileList) { Sponsor model = new Sponsor(); model.Address = new Address(); model.SponsorType = new SponsorType(); model.Id = item.Id; model.Name = item.Name; model.CompanyUrl = item.CompanyUrl; model.Address.Id = item.Address.Id; model.PhoneNumber = item.PhoneNumber; model.ContactPerson = item.ContactPerson; model.SponsorType.Id = item.SponsorType.Id; sponsorsList.Add(model); } return(sponsorsList); }); mock.Setup(m => m.Get(It.IsAny <int>())).Returns( (int id) => { Sponsor modal = sponsorProfileList.Where(m => m.Id == id).FirstOrDefault(); Sponsor newModal = null; if (modal != null) { newModal = new Sponsor(); newModal.Address = new Address(); newModal.SponsorType = new SponsorType(); newModal.Id = modal.Id; newModal.Name = modal.Name; newModal.CompanyUrl = modal.CompanyUrl; newModal.Address.Id = modal.Address.Id; newModal.PhoneNumber = modal.PhoneNumber; newModal.ContactPerson = modal.ContactPerson; newModal.SponsorType.Id = modal.SponsorType.Id; } return(newModal); }); mock.Setup(m => m.Update(It.IsAny <SponsorUpdateRequest>())).Callback( (SponsorUpdateRequest updateRequestModel) => { List <ValidationResult> validationResults = ValidateModal(updateRequestModel); if (validationResults.Count > 0) { throw new ValidationException(validationResults[0], null, updateRequestModel); } Sponsor model = sponsorProfileList.Where(m => m.Id == updateRequestModel.Id).Single(); model.Name = updateRequestModel.Name; model.CompanyUrl = new Uri(updateRequestModel.CompanyUrl); model.Address.Id = updateRequestModel.AddressId; model.PhoneNumber = updateRequestModel.PhoneNumber; model.ContactPerson = updateRequestModel.ContactPerson; model.SponsorType.Id = updateRequestModel.PrimarySponsorTypeId; } ); mock.Setup(m => m.Delete(It.IsAny <int>())).Callback( (int id) => { Sponsor sponsor = sponsorProfileList.Where(m => m.Id == id).Single(); sponsorProfileList.Remove(sponsor); }); mock.Setup(m => m.Get(It.IsAny <int>(), It.IsAny <int>())).Returns( (int pageIndex, int pageSize) => { List <Sponsor> sponsorsList = new List <Sponsor>(); int count = (pageIndex) * pageSize; for (int i = count; i < sponsorProfileList.Count; i++) { if (i < count + pageSize) { sponsorsList.Add(sponsorProfileList[i]); } else { break; } } Paged <Sponsor> paged = new Paged <Sponsor>(sponsorsList, pageIndex, pageSize, sponsorProfileList.Count); return(paged); }); mock.Setup(m => m.Get(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())).Returns( (int pageIndex, int pageSize, int typeId) => { List <Sponsor> sponsorsListResult = new List <Sponsor>(); List <Sponsor> sponsorsByType = new List <Sponsor>(); for (int i = 0; i < sponsorProfileList.Count; i++) { if (sponsorProfileList[i].SponsorType.Id == typeId) { sponsorsByType.Add(sponsorProfileList[i]); } } int count = (pageIndex) * pageSize; for (int i = count; i < sponsorsByType.Count; i++) { if (i < count + pageSize) { sponsorsListResult.Add(sponsorsByType[i]); } else { break; } } Paged <Sponsor> paged = new Paged <Sponsor>(sponsorsListResult, pageIndex, pageSize, sponsorsByType.Count); return(paged); }); mock.Setup(m => m.GetTypes()).Returns( () => { List <SponsorType> sponsorsTypesList = new List <SponsorType>(); foreach (var item in sponsorTypesList) { SponsorType model = new SponsorType(); model.Id = item.Id; model.Name = item.Name; sponsorsTypesList.Add(model); } return(sponsorsTypesList); }); _sponsorService = mock.Object; }