示例#1
0
        async Task <ContactModel> IContactRepo.AddorUpdateContact(ContactModel contactModel)
        {
            var model = new ContactInfo
            {
                ContactId = contactModel.ContactId,
                Email     = contactModel.Email,
                FirstName = contactModel.FirstName,
                LastName  = contactModel.LastName,
                Phone     = contactModel.Phone,
                Status    = contactModel.Status
            };

            using (var ctx = new ContactsEntities())
            {
                var contact = ctx.ContactInfoes.FirstOrDefault(x => x.Email == model.Email);

                if (contact == null)
                {
                    // Add new contact to list
                    ctx.ContactInfoes.Add(model);
                    await ctx.SaveChangesAsync();

                    return(contactModel);
                }

                contact.Phone     = contactModel.Phone;
                contact.FirstName = contactModel.FirstName;
                contact.LastName  = contactModel.LastName;
                contact.Status    = contactModel.Status;
                await ctx.SaveChangesAsync();

                return(contactModel);
            }
        }
示例#2
0
        async Task <ContactModel> IContactRepo.DeleteContact(int id)
        {
            using (var ctx = new ContactsEntities())
            {
                var contact = ctx.ContactInfoes.Find(id);
                if (contact == null)
                {
                    throw new ContactException("No Data Found for given id");
                }
                if (contact.Status == "Inactive")
                {
                    contact.Status = "Active";
                    // save contact object back to data base.
                    await ctx.SaveChangesAsync();

                    return(new ContactModel
                    {
                        ContactId = contact.ContactId,
                        Email = contact.Email,
                        FirstName = contact.FirstName,
                        LastName = contact.LastName,
                        Phone = contact.Phone,
                        Status = contact.Status
                    });
                }

                contact.Status = "Inactive";
                // save contact object back to data base.
                await ctx.SaveChangesAsync();

                return(new ContactModel
                {
                    ContactId = contact.ContactId,
                    Email = contact.Email,
                    FirstName = contact.FirstName,
                    LastName = contact.LastName,
                    Phone = contact.Phone,
                    Status = contact.Status
                });
            }
        }