Exemplo n.º 1
0
 public ActionResult Contact(Contact_Info info)
 {
     if (ModelState.IsValid)
     {
         return(View("Confirmation"));
     }
     else
     {
         return(View());
     }
 }
Exemplo n.º 2
0
        //vraca iz baze sve informacije o kontaktu sa zadanim id-em u obliku instance Contact_Info klase
        public Contact_Info getContactInfoById(int ConId)
        {
            using (ContactsDBEntities contactsData = new ContactsDBEntities())
            {
                //stvara se i puni temp, instanca klase Contact_Info
                Contact_Info temp = new Contact_Info();

                //id, ime, prezime i adresu vade se iz tablice "Contacts"
                var tempContact = contactsData.Contacts.Where(x => x.Id == ConId).Single();
                temp.Id      = ConId;
                temp.Name    = tempContact.Name;
                temp.Surname = tempContact.Surname;
                temp.Address = tempContact.Address;

                //lista emailova/telefonskih brojeva/tagova
                //(instanci klase Email/Telephone/Tag koja sadrzi id osobe, id unosa i sam email/broj/tag)
                //dohvaca se iz tablice "Emails"/"Telephones"/"Tags"
                var tempEmail = contactsData.Emails.Where(x => x.PersonId == ConId).ToList();
                foreach (var mail in tempEmail)
                {
                    temp.Emails.Add(mail);
                }

                var tempTelephone = contactsData.Telephones.Where(x => x.PersonId == ConId).ToList();
                foreach (var tel in tempTelephone)
                {
                    temp.Telephones.Add(tel);
                }

                var tempTag = contactsData.Tags.Where(x => x.PersonId == ConId).ToList();
                foreach (var tag in tempTag)
                {
                    temp.Tags.Add(tag);
                }

                //vracanje popunjene instance klase "Contact_Info"
                return(temp);
            }
        }
Exemplo n.º 3
0
        //funkcija dodaje novi kontakt u bazu, sa svim podacima (ime, prezime, adresa, emailovi, tel.brojevi, tagovi)
        public int addFullContact(Contact_Info Con)
        {
            if (Con != null)
            {
                using (ContactsDBEntities contactsData = new ContactsDBEntities())
                {
                    //prvo se dodaju osnovni podaci (ime, prezime i adresa) u tablicu "Contacts"
                    Contact ConBasic = new Contact(Con.Name, Con.Surname, Con.Address);
                    contactsData.Contacts.Add(ConBasic);
                    contactsData.SaveChanges();

                    //s dobivenim id-em osobe, dodaju se njeni mailovi, telefonski brojevi i tagovi,
                    //sve u svoje tablice
                    foreach (var em in Con.Emails)
                    {
                        Email Em = new Email(ConBasic.Id, em.Email1);
                        addEmail(Em);
                    }
                    foreach (var tel in Con.Telephones)
                    {
                        Telephone Tel = new Telephone(ConBasic.Id, tel.Telephone1);
                        addTelephone(Tel);
                    }
                    foreach (var tag in Con.Tags)
                    {
                        Tag Tag = new Tag(ConBasic.Id, tag.Tag1);
                        addTag(Tag);
                    }
                }
                return(1);
            }
            else
            {
                return(0);
            }
        }
Exemplo n.º 4
0
        //vraca listu svih kontakata iz baze
        public JsonResult getAll()
        {
            using (ContactsDBEntities contactsData = new ContactsDBEntities())
            {
                List <Contact_Info> completeList = new List <Contact_Info>();
                var contacts   = contactsData.Contacts;
                var emails     = contactsData.Emails;
                var telephones = contactsData.Telephones;
                var tags       = contactsData.Tags;

                //sintaksa f-je GroupJoin:
                //Outer.GroupJoin(Inner, outer => key, inner => key, (outer, inner) => result)

                //prvi join radi se na contacts-emails tablici
                var contactList = contacts.GroupJoin(emails,
                                                     contact => contact.Id,
                                                     email => email.PersonId,
                                                     (contact, email) => new
                {
                    Id      = contact.Id,
                    Name    = contact.Name,
                    Surname = contact.Surname,
                    Address = contact.Address,
                    Email   = email
                });

                //u drugom joinu na contacts-emails dodajemo i telephones
                var contactList2 = contactList.GroupJoin(telephones,
                                                         contact => contact.Id,
                                                         telephone => telephone.PersonId,
                                                         (contact, telephone) => new
                {
                    Id        = contact.Id,
                    Name      = contact.Name,
                    Surname   = contact.Surname,
                    Address   = contact.Address,
                    Email     = contact.Email,
                    Telephone = telephone
                });

                //na kraju, treci join stvara contacts-emails-telephones-tags
                var contactList3 = contactList2.GroupJoin(tags,
                                                          contact => contact.Id,
                                                          tag => tag.PersonId,
                                                          (contact, tag) => new
                {
                    Id        = contact.Id,
                    Name      = contact.Name,
                    Surname   = contact.Surname,
                    Address   = contact.Address,
                    Email     = contact.Email,
                    Telephone = contact.Telephone,
                    Tag       = tag
                });

                //prebacivanje iz contactList3 u completeList
                foreach (var contact in contactList3)
                {
                    Contact_Info temp = new Contact_Info();
                    temp.Id      = contact.Id;
                    temp.Name    = contact.Name;
                    temp.Surname = contact.Surname;
                    temp.Address = contact.Address;
                    foreach (var em in contact.Email)
                    {
                        temp.Emails.Add(em);
                    }
                    foreach (var tel in contact.Telephone)
                    {
                        temp.Telephones.Add(tel);
                    }
                    foreach (var tag in contact.Tag)
                    {
                        temp.Tags.Add(tag);
                    }
                    completeList.Add(temp);
                }

                return(Json(completeList, JsonRequestBehavior.AllowGet));
            }
        }
Exemplo n.º 5
0
        public ActionResult SaveContact(Contact_Names contact)
        {
            var masterId      = Guid.NewGuid();
            var contactMaster = new Contact_Names()
            {
                Id         = masterId,
                First_Name = contact.First_Name,
                Last_Name  = contact.Last_Name,
                orderDate  = contact.orderDate,
                key        = contact.key
            };

            if (null != db.Contact_Names.Find(contactMaster.key))
            {
                var check = new Contact_Names();
                check            = db.Contact_Names.Where(w => w.Id == contactMaster.key).SingleOrDefault();
                check.First_Name = contact.First_Name;
                check.Last_Name  = contact.Last_Name;

                if (contact.Contact_Info.Any())
                {
                    foreach (var item in contact.Contact_Info)
                    {
                        var detailCheck = new Contact_Info()
                        {
                            Phone_Number = item.Phone_Number,
                            Email        = item.Email,
                            Note         = item.Note
                        };

                        detailCheck = db.Contact_Info.Where(i => i.uni_id == contactMaster.key).SingleOrDefault();
                        detailCheck.Phone_Number = item.Phone_Number;
                        detailCheck.Email        = item.Email;
                        detailCheck.Note         = item.Note;
                    }
                }
            }
            else
            {
                db.Contact_Names.Add(contactMaster);
                //Process Contact details
                if (contact.Contact_Info.Any())
                {
                    foreach (var item in contact.Contact_Info)
                    {
                        var detailId       = Guid.NewGuid();
                        var contactDetails = new Contact_Info()
                        {
                            Id           = detailId,
                            uni_id       = masterId,
                            Phone_Number = item.Phone_Number,
                            Email        = item.Email,
                            Note         = item.Note
                        };

                        db.Contact_Info.Add(contactDetails);
                    }
                }
            }
            try
            {
                if (db.SaveChanges() > 0)
                {
                    return(Json(new { error = false, message = "Contact saved successfully" }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { error = true, message = ex.Message }));
            }

            return(Json(new { error = true, message = "An unknown error has occured" }));
        }