Example #1
0
        public void Given_Valid_Id_Update_Contact()
        {
            //Arrange
            ContactsDTO updatedContact = new ContactsDTO();

            updatedContact = new ContactsDTO()
            {
                ContactId   = nonUpdatedContactId,
                FirstName   = "Shamina",
                LastName    = "Singh",
                Telephone   = "0325523816",
                Mobile      = "0728788180",
                Email       = "*****@*****.**",
                DateCreated = unUpdatedDate,
                DateUpdated = DateTime.Now
            };

            //Act
            var result = dataLayer.UpdateContactAsync(nonUpdatedContactId, updatedContact).Result;

            //Assert
            var dbContact = contactsContext.Contacts.First();

            Assert.AreEqual(result.Result.ContactId, dbContact.ContactId);
            Assert.AreSame(result.Result.FirstName, dbContact.FirstName);
            Assert.AreSame(result.Result.LastName, dbContact.LastName);
            Assert.AreSame(result.Result.Telephone, dbContact.Telephone);
            Assert.AreSame(result.Result.Mobile, dbContact.Mobile);
            Assert.AreSame(result.Result.Email, dbContact.Email);
            Assert.AreEqual(result.Result.DateCreated, dbContact.DateCreated);
            Assert.AreNotSame(result.Result.DateUpdated, unUpdatedDate);
        }
        public async Task When_Invalid_Information_Inserted_Return_Error()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <ContactsContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            contactsContext = new ContactsContext(options);
            dataLayer       = new ContactsDataLayer(contactsContext);

            var contacts = new ContactsDTO()
            {
                ContactId   = 1,
                FirstName   = "Shamina",
                LastName    = "Maharaj",
                Telephone   = "032abcs",
                Mobile      = "12345po",
                Email       = "maharajshamina1gmailcom",
                DateCreated = DateTime.Now,
                DateUpdated = DateTime.Now,
            };

            //Act

            BaseResponse <ContactsDTO> result = await dataLayer.AddNewContact(contacts);

            //Assert
            Assert.AreEqual(result.Result, null);
            Assert.AreEqual(result.ErrorStatus, ErrorStatus.Error);
        }
        public async Task <BaseResponse <ContactsDTO> > AddNewContact(ContactsDTO contact)
        {
            var validator = new ContactsDTOValidator();
            var result    = validator.Validate(contact);

            if (!result.IsValid)
            {
                return(new BaseResponse <ContactsDTO>()
                {
                    ErrorStatus = ErrorStatus.Error,
                    ErrorInfo = new ErrorInfo()
                    {
                        ErrorMessage = result.Errors.First().ErrorMessage
                    }
                });
            }

            _context.Contacts.Add(contact);
            await _context.SaveChangesAsync();

            return(new BaseResponse <ContactsDTO>()
            {
                ErrorStatus = ErrorStatus.Success,
                Result = contact
            });
        }
Example #4
0
        /// <summary>
        /// 根据 姓名、电话号码和身份证 查询数据
        /// </summary>
        /// <param name="reg">包含姓名、电话号码和身份证的实体类</param>
        /// <returns></returns>
        public async Task <ResultDTO> Get(ContactsDTO reg)
        {
            IEnumerable <Contacts> Contact = null;

            if ((reg.Name == null || reg.Name == "") && (reg.Phone == null || reg.Phone == "") && (reg.IdCard == null || reg.IdCard == ""))
            {
                //return null;
                return(new ResultDTO(200, "获取失败,条件不能全部为空", "", ResultStatus.Fail));
            }
            var sql = PetaPoco.Sql.Builder
                      .Select("*")
                      .From("hnInfo");

            if (reg.Id != null && reg.Id.ToString() != "" && reg.Id != Guid.Empty)
            {
                sql.Where("id = @0", reg.Id);
            }
            if (reg.Name != null && reg.Name != "")
            {
                sql.Where("name=@0", reg.Name);
            }
            if (reg.Phone != null && reg.Phone != "")
            {
                sql.Where("Phone=@0", reg.Phone);
            }
            if (reg.IdCard != null && reg.IdCard != "")
            {
                sql.Where("IdCard=@0", reg.IdCard);
            }
            Contact = Db.Query <Contacts>(sql);
            await Task.Delay(10);

            return(new ResultDTO(200, "获取成功", Contact, ResultStatus.Suceess));
        }
Example #5
0
        public void When_Requesting_Contact_With_Valid_ID_Return_Contact()
        {
            //Arrange
            var contact = new ContactsDTO()
            {
                ContactId   = validContactId,
                FirstName   = "Shamina",
                LastName    = "Maharaj",
                Telephone   = "0325516332",
                Mobile      = "0829519581",
                Email       = null,
                DateCreated = DateTime.Now,
                DateUpdated = DateTime.Now,
            };

            contactsContext.Contacts.Add(contact);
            contactsContext.SaveChanges();


            //Act
            var result = dataLayer.GetContactByIdAsync(validContactId).Result;

            //Assert
            Assert.AreSame(result, contact);
        }
Example #6
0
        public async Task <ResultDTO> TextPutInfo(ContactsDTO contactsDTO, string id)
        {
            var content  = new StringContent(JsonConvert.SerializeObject(contactsDTO), Encoding.UTF8, "application/json");
            var response = await _client.PutAsync(@"http://localhost:5000/v1/Contacts/" + id, content);

            var stringResponse = await response.Content.ReadAsStringAsync();

            var result = JsonConvert.DeserializeObject <ResultDTO>(stringResponse);

            return(result);
        }
Example #7
0
        public async Task <IActionResult> Post([FromBody] ContactsDTO reg)
        {
            yanz rules  = new yanz();
            var  Result = rules.Validate(reg);

            if (!Result.IsValid)
            {
                return(Ok(new ResultDTO(200, Result.ToString(), "", ResultStatus.Error)));
            }
            return(Ok(await contactRepository.AddData(reg)));
        }
Example #8
0
        public async Task GetByPropInfoSuceess(string name, string phone, string idcard)
        {
            var data = new ContactsDTO()
            {
                Name   = name,
                Phone  = phone,
                IdCard = idcard
            };
            var result = await funca.TextGetByPropInfo(data);

            Assert.NotNull(result.Result);
        }
Example #9
0
        public async Task <ResultDTO> TextGetByPropInfo(ContactsDTO contactsDTO)
        {
            var conent   = new StringContent(JsonConvert.SerializeObject(contactsDTO), Encoding.UTF8, "application/json");
            var response = await _client.PostAsync(@"http://localhost:5000/v1/Contacts/propselect", conent);

            var stringResonse = await response.Content.ReadAsStringAsync();

            Output.WriteLine(stringResonse);
            var result = JsonConvert.DeserializeObject <ResultDTO>(stringResonse);

            return(result);
        }
Example #10
0
        public async Task GetByPropInfoError(string name, string phone, string idcard)
        {
            var data = new ContactsDTO()
            {
                Name   = name,
                Phone  = phone,
                IdCard = idcard
            };
            var result = await funca.TextGetByPropInfo(data);

            Assert.Equal(ResultStatus.Fail, result.ResultStatus);
        }
Example #11
0
        public async Task PostInfoSuceess(string name, string phone, string idcard)
        {
            var data = new ContactsDTO()
            {
                Name   = name,
                Phone  = phone,
                IdCard = idcard
            };
            //var exPostInfo = new Funca();
            var result = await funca.TextPostInfo(data);

            Output.WriteLine(result.Message);
            Assert.Equal(ResultStatus.Suceess, result.ResultStatus);
        }
        public async Task <BaseResponse <ContactsDTO> > UpdateContactAsync(int id, ContactsDTO contact)
        {
            var validator = new ContactsDTOValidator();
            var result    = validator.Validate(contact);

            if (!result.IsValid)
            {
                return(new BaseResponse <ContactsDTO>()
                {
                    ErrorStatus = ErrorStatus.Error,
                    ErrorInfo = new ErrorInfo()
                    {
                        ErrorMessage = result.Errors.First().ErrorMessage
                    }
                });
            }

            var contactData = await _context.Contacts.FirstOrDefaultAsync(i => i.ContactId == id);

            if (contactData != null)
            {
                contactData.DateUpdated = DateTime.Now;
                contactData.LastName    = contact.LastName;
                contactData.Telephone   = contact.Telephone;
                contactData.Mobile      = contact.Mobile;
                contactData.Email       = contact.Email;
                _context.Contacts.Attach(contactData);
                _context.Entry(contactData).State = EntityState.Modified;
                await _context.SaveChangesAsync();

                return(new BaseResponse <ContactsDTO>()
                {
                    ErrorStatus = ErrorStatus.Success,
                    Result = contact
                });
            }
            else
            {
                return(new BaseResponse <ContactsDTO>()
                {
                    ErrorStatus = ErrorStatus.Failed,
                    ErrorInfo = new ErrorInfo()
                    {
                        ErrorMessage = "Contact Not Found"
                    },
                    Result = null
                });
            }
        }
Example #13
0
 //public void CreateUser(UserProfileDTO UserProfile)
 public void AddContact(ContactsDTO contact)
 {
     db.Contacts.Add(new Contact
     {
         // Contacts =ContactDTO.UserProfileDTOId,
         Title      = contact.Title,
         CellNumber = contact.CellNumber,
         Email      = contact.Email,
         Name       = contact.Name,
         Surname    = contact.Surname,
         Telephone  = contact.Telephone,
         ContactID  = contact.ContactID
     });
     db.SaveChanges();
 }
Example #14
0
        /// <summary>
        /// 添加数据的方法
        /// </summary>
        /// <param name="reg">数据</param>
        /// <returns></returns>
        public async Task <ResultDTO> AddData(ContactsDTO reg)
        {
            var soucreContacts = _mapper.Map <Contacts>(reg);

            soucreContacts.Id = System.Guid.NewGuid();
            var selectData = await Db.SingleOrDefaultAsync <Contacts>("where phone = @0", soucreContacts.Phone);

            if (selectData != null)
            {
                return(new ResultDTO(200, "该号码已存在", selectData, ResultStatus.Error));
            }
            if (await Db.InsertAsync(soucreContacts) != null)
            {
                var result = _mapper.Map <ContactsDTO>(soucreContacts);
                return(new ResultDTO(200, "添加成功", soucreContacts, ResultStatus.Suceess));
            }
            else
            {
                return(new ResultDTO(200, "添加失败", reg, ResultStatus.Fail));
            }
        }
        public async Task Information_Needs_To_Be_Correctly_InsertedAsync()
        {
            //Arrange
            var options = new DbContextOptionsBuilder <ContactsContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            contactsContext = new ContactsContext(options);
            dataLayer       = new ContactsDataLayer(contactsContext);

            var contacts = new ContactsDTO()
            {
                ContactId   = 1,
                FirstName   = "Shamina",
                LastName    = "Maharaj",
                Telephone   = "0325516332",
                Mobile      = "0829519581",
                Email       = "*****@*****.**",
                DateCreated = DateTime.Now,
                DateUpdated = DateTime.Now,
            };

            //Act

            BaseResponse <ContactsDTO> result = await dataLayer.AddNewContact(contacts);

            //Assert
            Assert.NotNull(result.Result);
            Assert.AreEqual(result.ErrorStatus, ErrorStatus.Success);
            Assert.AreEqual(result.Result.ContactId, contacts.ContactId);
            Assert.AreEqual(result.Result.FirstName, contacts.FirstName);
            Assert.AreEqual(result.Result.LastName, contacts.LastName);
            Assert.AreEqual(result.Result.Telephone, contacts.Telephone);
            Assert.AreEqual(result.Result.Mobile, contacts.Mobile);
            Assert.AreEqual(result.Result.Email, contacts.Email);
            Assert.AreEqual(result.Result.DateCreated, contacts.DateCreated);
            Assert.AreEqual(result.Result.DateUpdated, contacts.DateUpdated);
        }
        public async Task <List <ContactsDTO> > GetAllContactsAsync()
        {
            var result  = new List <ContactsDTO>();
            var dataset = await _context.Contacts.OrderBy(i => i.ContactId).ToListAsync();

            if (dataset != null)
            {
                foreach (var item in dataset)
                {
                    ContactsDTO contact = new ContactsDTO();
                    contact.ContactId   = item.ContactId;
                    contact.FirstName   = item.FirstName;
                    contact.LastName    = item.LastName;
                    contact.Telephone   = item.Telephone;
                    contact.Mobile      = item.Mobile;
                    contact.Email       = item.Email;
                    contact.DateCreated = item.DateCreated;
                    contact.DateUpdated = item.DateUpdated;
                    result.Add(contact);
                }
            }
            return(result);
        }
Example #17
0
        public void Setup()
        {
            var options = new DbContextOptionsBuilder <ContactsContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            contactsContext = new ContactsContext(options);
            dataLayer       = new ContactsDataLayer(contactsContext);

            contacts = new ContactsDTO()
            {
                ContactId   = correctId,
                FirstName   = "Shamina",
                LastName    = "Maharaj",
                Telephone   = "0325516332",
                Mobile      = "0829519581",
                Email       = "*****@*****.**",
                DateCreated = DateTime.Now.AddDays(-1),
                DateUpdated = DateTime.Now
            };
            contactsContext.Contacts.Add(contacts);
            contactsContext.SaveChanges();
        }
Example #18
0
        /// <summary>
        /// 更新数据的方法
        /// </summary>
        /// <param name="id">Guid</param>
        /// <param name="req">包含姓名、电话号码和身份证的实体类</param>
        /// <returns></returns>
        public async Task <ResultDTO> UpdateData(Guid id, ContactsDTO req)
        {
            var contactReq = _mapper.Map <Contacts>(req);

            if (contactReq.Name == "" && contactReq.Phone == "" && contactReq.IdCard == "")
            {
                return(new ResultDTO(200, "没有修改后的数据。", "", ResultStatus.Fail));
            }
            if (await Db.SingleOrDefaultAsync <Contacts>("where Id = @0", id) == null)
            {
                return(new ResultDTO(200, "修改的数据不存在。", "", ResultStatus.Fail));
            }
            var sql = PetaPoco.Sql.Builder.Append("set ");

            if (contactReq.Name != null && contactReq.Name != "")
            {
                sql.Append("name = @0 ", contactReq.Name);
            }
            if (contactReq.IdCard != null && contactReq.IdCard != "")
            {
                sql.Append(", IdCard = @0 ", contactReq.IdCard);
            }
            if (contactReq.Phone != null && contactReq.Phone != "")
            {
                sql.Append(", Phone = @0 ", contactReq.Phone);
            }
            sql.Append(" where id = @0", id);
            var ContactNum = await Db.UpdateAsync <Contacts>(sql);

            if (ContactNum <= 0)
            {
                return(new ResultDTO(200, "更新失败。", "", ResultStatus.Fail));
            }
            var selectData = await Db.SingleOrDefaultAsync <Contacts>("where Id = @0", id);

            return(new ResultDTO(200, "更新成功。", _mapper.Map <ContactsDTO>(selectData), ResultStatus.Suceess));
        }
        public async Task <IActionResult> UpdateContactAsync(int id, ContactsDTO contacts)
        {
            if (id != contacts.ContactId)
            {
                return(BadRequest());
            }

            try
            {
                var result = await dataLayer.UpdateContactAsync(id, contacts);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!(await ContactsExists(id)))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(Ok("Contact Updated Successfully"));
        }
Example #20
0
 public async Task <IActionResult> PostByPropGetInfo([FromBody] ContactsDTO reg)
 {
     return(Ok(await contactRepository.Get(reg)));
 }
Example #21
0
 public async Task <IActionResult> Put(Guid id, [FromBody] ContactsDTO req)
 {
     return(Ok(await contactRepository.UpdateData(id, req)));
 }
Example #22
0
 // POST: api/User
 public IHttpActionResult AddContact(ContactsDTO contactDTO)
 {
     con.AddContact(contactDTO);
     return(Ok());
 }
 public async Task <ActionResult <BaseResponse <ContactsDTO> > > AddNewContact(ContactsDTO contacts)
 {
     return(await dataLayer.AddNewContact(contacts));
 }