public ActionResult Edit(People people, List <int> ContactType, List <String> ContactValue) { if (ModelState.IsValid) { var ID = people.PeopleID; context.Entry(people).State = EntityState.Modified; context.SaveChanges(); // Удаление старых контактов var contacts = context.PeopleContacts.Where(p => p.PeopleID == ID).ToList(); foreach (var contact in contacts) { context.PeopleContacts.Remove(contact); } context.SaveChanges(); // Добавление новыйх контактов for (int i = 0; i < ContactType.Count; ++i) { if (string.IsNullOrEmpty(ContactValue[i])) { continue; } var peopleContact = new PeopleContact(); peopleContact.PeopleID = ID; peopleContact.ContactID = ContactType[i]; peopleContact.Value = ContactValue[i]; context.PeopleContacts.Add(peopleContact); try { context.SaveChanges(); } catch (DbUpdateException) { context.PeopleContacts.Remove(peopleContact); continue; } } return(Redirect("/Contacts/People/" + people.PeopleID)); } ViewBag.Types = GetContactTypes(); ViewBag.ContactType = ContactType; ViewBag.ContactValue = ContactValue; return(View(people)); }
public ActionResult Add(People people, List <int> ContactType, List <String> ContactValue) { if (ModelState.IsValid) { context.Peoples.Add(people); context.SaveChanges(); var ID = context.Peoples.ToList().Last().PeopleID; for (int i = 0; i < ContactType.Count; ++i) { if (string.IsNullOrEmpty(ContactValue[i])) { continue; } var peopleContact = new PeopleContact { PeopleID = ID, ContactID = ContactType[i], Value = ContactValue[i] }; context.PeopleContacts.Add(peopleContact); try { context.SaveChanges(); } catch (DbUpdateException) { context.PeopleContacts.Remove(peopleContact); continue; } } return(Redirect("/Contacts/People/" + people.PeopleID)); } ViewBag.Types = GetContactTypes(); ViewBag.ContactType = ContactType; ViewBag.ContactValue = ContactValue; return(View(people)); }
private async Task <People> InsertPeople(string userId, string userName, string userAvatarUrl) { var contactInsertSql = @" DECLARE @TempPeopleContact table(NewContactId bigint); INSERT INTO dbo.PeopleContact (ContactTypeId, InfoTextId, InfoText, ContactServiceStateId) OUTPUT INSERTED.Id INTO @TempPeopleContact VALUES(@ContactTypeId, @InfoTextId, @InfoText, @ContactServiceStateId); SELECT NewContactId FROM @TempPeopleContact;"; var peopleInsertSql = @"DECLARE @TempPeople table(NewPeopleID uniqueidentifier); INSERT INTO People (F, I, O, XmlInfo) OUTPUT INSERTED.Id INTO @TempPeople VALUES (@F, @I, @O, @XmlInfo); SELECT NewPeopleID FROM @TempPeople;"; var peopleContactInsertSql = @"INSERT INTO PeopleLinkContact (PeopleId, ContactId, Remark) VALUES (@peopleId, @contactId, '')"; using (var connection = new SqlConnection(connectionString)) { // Open database connection await connection.OpenAsync(); // Begin insert transaction using (var transaction = connection.BeginTransaction()) { try { // New contact object var contact = new PeopleContact { InfoTextId = userId, InfoText = userName, ContactTypeId = (int)ContactType.Phone, ContactServiceStateId = (int)ServiceState.ConversationStarted }; // Insert contact var contactId = await connection.ExecuteScalarAsync <long>(contactInsertSql, contact, transaction); // New people object var people = new People { F = userName, I = "", O = "", XmlInfo = XElement.Parse($"<img>{userAvatarUrl}</img>") }; // Insert people var peopleId = await connection.ExecuteScalarAsync <Guid>(peopleInsertSql, people, transaction); // Insert contact people link await connection.ExecuteAsync(peopleContactInsertSql, new { peopleId, contactId }, transaction); // Commit insert transaction transaction.Commit(); // people.Id = peopleId; // return(people); } catch (Exception) { // Rollback transaction due to database error transaction.Rollback(); throw; } } } }
public void UpdatePeopleContact(PeopleContact contact) { contact.DateAdded = DateTime.Now; }
public void PatchPeopleContact(PeopleContact contact) { contact.DateAdded = DateTime.Now; }
public void AddPeopleContact(PeopleContact contact) { contact.DateAdded = DateTime.Now; _context.Add(contact); }
public static void Initializer(this ContactContext context) { context.Database.EnsureCreated(); if (context.PeopleContacts.Any()) { return; } var peopleContacts = new PeopleContact[] { new PeopleContact { FirstName = "A", LastName = "B", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a boy" }, new PeopleContact { FirstName = "C", LastName = "D", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a teenager" }, new PeopleContact { FirstName = "E", LastName = "F", PhoneNumber = "324324324", Gender = Gender.Female, Description = "Im a female" }, new PeopleContact { FirstName = "G", LastName = "H", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a man" }, new PeopleContact { FirstName = "I", LastName = "J", PhoneNumber = "14354353", Gender = Gender.Female, Description = "Im a girl" }, new PeopleContact { FirstName = "K", LastName = "L", PhoneNumber = "123143534213", Gender = Gender.Female, Description = "Im a women" }, new PeopleContact { FirstName = "M", LastName = "N", PhoneNumber = "123123213213", Gender = Gender.Female, Description = "Im a boy" }, new PeopleContact { FirstName = "A", LastName = "B", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a boy" }, new PeopleContact { FirstName = "C", LastName = "D", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a teenager" }, new PeopleContact { FirstName = "E", LastName = "F", PhoneNumber = "324324324", Gender = Gender.Female, Description = "Im a female" }, new PeopleContact { FirstName = "G", LastName = "H", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a man" }, new PeopleContact { FirstName = "I", LastName = "J", PhoneNumber = "14354353", Gender = Gender.Female, Description = "Im a girl" }, new PeopleContact { FirstName = "K", LastName = "L", PhoneNumber = "123143534213", Gender = Gender.Female, Description = "Im a women" }, new PeopleContact { FirstName = "M", LastName = "N", PhoneNumber = "123123213213", Gender = Gender.Female, Description = "Im a boy" }, new PeopleContact { FirstName = "A", LastName = "B", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a boy" }, new PeopleContact { FirstName = "C", LastName = "D", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a teenager" }, new PeopleContact { FirstName = "E", LastName = "F", PhoneNumber = "324324324", Gender = Gender.Female, Description = "Im a female" }, new PeopleContact { FirstName = "G", LastName = "H", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a man" }, new PeopleContact { FirstName = "I", LastName = "J", PhoneNumber = "14354353", Gender = Gender.Female, Description = "Im a girl" }, new PeopleContact { FirstName = "K", LastName = "L", PhoneNumber = "123143534213", Gender = Gender.Female, Description = "Im a women" }, new PeopleContact { FirstName = "M", LastName = "N", PhoneNumber = "123123213213", Gender = Gender.Female, Description = "Im a boy" }, new PeopleContact { FirstName = "A", LastName = "B", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a boy" }, new PeopleContact { FirstName = "C", LastName = "D", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a teenager" }, new PeopleContact { FirstName = "E", LastName = "F", PhoneNumber = "324324324", Gender = Gender.Female, Description = "Im a female" }, new PeopleContact { FirstName = "G", LastName = "H", PhoneNumber = "123123213213", Gender = Gender.Male, Description = "Im a man" }, new PeopleContact { FirstName = "I", LastName = "J", PhoneNumber = "14354353", Gender = Gender.Female, Description = "Im a girl" }, new PeopleContact { FirstName = "K", LastName = "L", PhoneNumber = "123143534213", Gender = Gender.Female, Description = "Im a women" }, new PeopleContact { FirstName = "M", LastName = "N", PhoneNumber = "123123213213", Gender = Gender.Female, Description = "Im a boy" } }; context.AddRange(peopleContacts); context.SaveChanges(); }