Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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();
        }