public HttpResponseMessage Update(SponsorUpdateRequest model)
 {
     if (!ModelState.IsValid)
     {
         return(CreateErrorResponse());
     }
     _service.Update(model);
     return(Request.CreateResponse(HttpStatusCode.OK, new SuccessResponse()));
 }
Esempio n. 2
0
        public void Update(SponsorUpdateRequest data)
        {
            if (data == null)
            {
                throw new ArgumentNullException("A parameter data is required!");
            }
            string storeProc = "[dbo].[Sponsors_Update]";

            _dataProvider.ExecuteNonQuery(storeProc
                                          , delegate(SqlParameterCollection sqlParams)
            {
                sqlParams.AddWithValue("@Id", data.Id);
                sqlParams.AddWithValue("@Name", data.Name);
                sqlParams.AddWithValue("@CompanyUrl", data.CompanyUrl);
                sqlParams.AddWithValue("@AddressId", data.AddressId);
                sqlParams.AddWithValue("@PhoneNumber", data.PhoneNumber);
                sqlParams.AddWithValue("@ContactPerson", data.ContactPerson);
                sqlParams.AddWithValue("@PrimarySponsorTypeId", data.PrimarySponsorTypeId);
            });
        }
Esempio n. 3
0
        public void Update_Test()
        {
            Sponsor sponsor = new Sponsor();

            sponsor.Address     = new Address();
            sponsor.SponsorType = new SponsorType();
            sponsor             = _sponsorService.Get(1);

            //Arrange
            SponsorUpdateRequest sponsorUpdate = new SponsorUpdateRequest
            {
                Id                   = sponsor.Id,
                Name                 = "Instagram",
                CompanyUrl           = "https://yandex.com/",
                AddressId            = sponsor.Address.Id + 1,
                PhoneNumber          = "9184309283",
                ContactPerson        = "Kevin Systrom",
                PrimarySponsorTypeId = sponsor.SponsorType.Id + 1
            };

            //Act
            _sponsorService.Update(sponsorUpdate);
            Sponsor anotherSponsor = new Sponsor();

            anotherSponsor.Address     = new Address();
            anotherSponsor.SponsorType = new SponsorType();
            anotherSponsor             = _sponsorService.Get(1);

            //Assert
            Assert.IsTrue(sponsor.Id == anotherSponsor.Id, "Id don't match");
            Assert.IsFalse(sponsor.Name == anotherSponsor.Name, "Name hasn't changed");
            Assert.IsFalse(sponsor.CompanyUrl == anotherSponsor.CompanyUrl, "CompanyUrl hasn't changed");
            Assert.IsFalse(sponsor.Address.Id == anotherSponsor.Address.Id, "Address hasn't changed");
            Assert.IsFalse(sponsor.PhoneNumber == anotherSponsor.PhoneNumber, "PhoneNumber hasn't changed");
            Assert.IsFalse(sponsor.ContactPerson == anotherSponsor.ContactPerson, "ContactPerson hasn't changed");
            Assert.IsFalse(sponsor.SponsorType.Id == anotherSponsor.SponsorType.Id, "SponsorType Id hasn't changed");
        }
Esempio n. 4
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;
        }