示例#1
0
        private PeopleModels.NewContact GetDataForCustomers(Intuit.Ipp.Data.Customer Model, int typeid)
        {
            int siteCoID  = siteusercompanyid;
            var coContact = new PeopleModels.NewContact();

            coContact.ContactID = 0;
            coContact.First     = Model.GivenName;
            coContact.Last      = Model.FamilyName;
            coContact.Company   = Model.CompanyName;
            if (Model.PrimaryPhone != null)
            {
                coContact.Phone  = Model.PrimaryPhone.FreeFormNumber;
                coContact.Mobile = Model.PrimaryPhone.FreeFormNumber;
            }
            if (Model.PrimaryEmailAddr != null)
            {
                coContact.Email = Model.PrimaryEmailAddr.Address;
            }
            if (Model.BillAddr != null)
            {
                coContact.Address1 = Model.BillAddr.Line1;
                coContact.Address2 = Model.BillAddr.Line2;
                coContact.City     = Model.BillAddr.City;
                coContact.Zip      = Model.BillAddr.PostalCode;
            }
            coContact.State     = "";
            coContact.CountryID = 0;
            coContact.TypeID    = typeid;
            coContact.StatusID  = (int?)Model.status;
            coContact.OwnerID   = 0;
            return(coContact);
        }
        private PeopleModels.NewContact GetDataForVendor(Intuit.Ipp.Data.Vendor Model, int typeid)
        {
            int siteCoID  = siteusercompanyid;
            var coContact = new PeopleModels.NewContact()
            {
                ContactID = 0,
                First     = Model.GivenName,
                Last      = Model.FamilyName,
                Company   = Model.CompanyName,
                Phone     = Model.PrimaryPhone.FreeFormNumber,
                Mobile    = Model.PrimaryPhone.FreeFormNumber,
                Email     = Model.PrimaryEmailAddr.Address,
                Address1  = Model.BillAddr.Line1,
                Address2  = Model.BillAddr.Line2,
                City      = Model.BillAddr.City,
                State     = "",
                Zip       = Model.BillAddr.PostalCode,
                CountryID = 0,
                TypeID    = typeid,
                StatusID  = (int?)Model.status,
                OwnerID   = 0
            };

            return(coContact);
        }
        private bool EditContact(PeopleModels.NewContact Model)
        {
            int siteCoID = siteusercompanyid;

            CommonRepository   repo    = new CommonRepository();
            CoContactCompanies company = null;

            if (!string.IsNullOrWhiteSpace(Model.Company))
            {
                company = repo.AddCompany(siteCoID, Model.Company);
            }
            if (company == null)
            {
                company = new CoContactCompanies()
                {
                    ContactCoID = 0
                };
            }

            CoContacts contact = db.CoContacts
                                 .Include(p => p.CoContactAddresses)
                                 .Include(p => p.CoContactEmails)
                                 .Where(p => p.ContactID == Model.ContactID).FirstOrDefault();

            contact.ContactID        = Model.ContactID ?? 0;
            contact.SiteCoID         = siteCoID;
            contact.ContactTypeID    = Model.TypeID ?? 0;
            contact.ContactStatusID  = Model.StatusID;
            contact.ContactFirstName = Model.First;
            contact.ContactLastName  = Model.Last;
            contact.ContactCoID      = company.ContactCoID;
            contact.ModifiedDate     = DateTime.Now;
            contact.ContactManager   = Model.OwnerID;
            db.SaveChanges();

            repo.UpdatePhone(Model.ContactID ?? 0, (int)EnumWrapper.PhoneTypes.Mobile, Model.Mobile, true);
            repo.UpdatePhone(Model.ContactID ?? 0, (int)EnumWrapper.PhoneTypes.Phone, Model.Phone, true);
            repo.UpdateEmail(Model.ContactID ?? 0, Model.Email, true);
            repo.UpdateAddress(Model.ContactID ?? 0, new CoContactAddresses()
            {
                Address1  = Model.Address1,
                Address2  = Model.Address2,
                City      = Model.City,
                State     = Model.State,
                Zip       = Model.Zip,
                CountryID = Model.CountryID
            });
            return(true);
        }
        public ActionResult Edit(int id)
        {
            ViewBag.ContactCo     = new SelectList(db.CoContactCompanies.Where(p => p.SiteCoID == siteusercompanyid).OrderBy(p => p.ContactCoName), "ContactCoID", "ContactCoName");
            ViewBag.Country       = new SelectList(db.SiteCountries.OrderBy(p => p.Country), "CountryID", "Country");
            ViewBag.ContactType   = new SelectList(db.CoContactTypes.Where(p => p.SiteCoID == siteusercompanyid).OrderBy(p => p.ContactTypeOrder), "ContactTypeID", "ContactTypeName");
            ViewBag.ContactStatus = new SelectList(db.SiteContactStatus.OrderBy(p => p.StatusOrder), "StatusID", "Status");
            ViewBag.Owner         = new SelectList(db.SiteUsers.Where(p => p.SiteCoID == siteusercompanyid).OrderBy(p => p.UserDisplayName), "SiteUserID", "UserDisplayName", siteuserid);
            ViewBag.siteuserid    = siteuserid;

            PeopleModels.NewContact Model = new PeopleModels.NewContact();
            CoContacts contact            = db.CoContacts
                                            .Include(p => p.CoContactAddresses)
                                            .Include(p => p.CoContactEmails)
                                            .Where(p => p.ContactID == id).FirstOrDefault();
            CoContactAddresses address = contact.CoContactAddresses.Where(p => p.ContactID == id).FirstOrDefault() ?? new CoContactAddresses();

            if (contact != null)
            {
                Model = new PeopleModels.NewContact()
                {
                    Address1  = address.Address1,
                    Address2  = address.Address2,
                    City      = address.City,
                    CountryID = address.CountryID,
                    State     = address.State,
                    Zip       = address.Zip,
                    Company   = contact.CoContactCompanies != null ? contact.CoContactCompanies.ContactCoName : "",
                    ContactID = contact.ContactID,
                    Email     = contact.CoContactEmails.Any() ? contact.CoContactEmails.Select(p => p.EmailAddress).FirstOrDefault() : "",
                    First     = contact.ContactFirstName,
                    Last      = contact.ContactLastName,
                    Mobile    = contact.CoContactPhones.Any() ? contact.CoContactPhones.Where(p => p.PhoneTypeID == 1).Select(p => p.Phone).FirstOrDefault() : "",
                    Phone     = contact.CoContactPhones.Any() ? contact.CoContactPhones.Where(p => p.PhoneTypeID == 2).Select(p => p.Phone).FirstOrDefault() : "",
                    StatusID  = contact.ContactStatusID,
                    TypeID    = contact.ContactTypeID,
                    OwnerID   = contact.ContactManager
                };
            }


            return(View("_Edit", Model));
        }
示例#5
0
        public ActionResult CreateCustomer(PeopleModels.NewContact Model)
        {
            Int64 id = SyncObjectsModelId;
            QBAuthorizationdto oAuthDetails = new QBOAuthService(new QBAuthorizationdto()).GetAccessToken(this);

            syncService            = new QBSyncService(oAuthDetails);
            syncObjects            = id > 0 ? GetSyncObjects(this, id) : new QBSyncdto();
            syncObjects.OauthToken = oAuthDetails;
            syncObjects.CompanyId  = oAuthDetails.Realmid;

            if (!syncService.IsCustSync(syncObjects, syncService, siteusercompanyid).IsCustomerSync)
            {
                syncObjects = syncService.GetDatafromModelCustomer(syncObjects, siteusercompanyid);
                if (syncObjects.CustomerList.Count > 0)
                {
                    syncObjects = syncService.SyncCustomer(this, syncObjects);
                }
                this.Save(this, syncObjects);
            }
            return(RedirectToAction("Details", "contactinfo", new { id = Model.ContactID, area = "pages" }));
        }
        public ActionResult Edit(PeopleModels.NewContact Model)
        {
            var errorList = new List <string>();

            if (ModelState.IsValid)
            {
                if (EditContact(Model))
                {
                    return(Json(new { status = "success", contactID = Model.ContactID }));
                }
                else
                {
                    errorList.Add("Contact couldn't be updated. Please retry.");
                }
            }

            errorList.AddRange((from item in ModelState.Values
                                from error in item.Errors
                                select error.ErrorMessage).ToList()
                               );

            return(Json(new { status = "error", errors = errorList }));
        }
        private int SaveContact(PeopleModels.NewContact Model)
        {
            int siteCoID = siteusercompanyid;

            CommonRepository   repo    = new CommonRepository();
            CoContactCompanies company = null;

            if (!string.IsNullOrWhiteSpace(Model.Company))
            {
                company = repo.AddCompany(siteCoID, Model.Company);
            }
            if (company == null)
            {
                company = new CoContactCompanies()
                {
                    ContactCoID = 0
                };
            }

            var coContact = new CoContacts()
            {
                ContactID        = Model.ContactID ?? 0,
                SiteCoID         = siteCoID,
                ContactTypeID    = Model.TypeID ?? 0,
                ContactStatusID  = Model.StatusID,
                ContactFirstName = Model.First,
                ContactLastName  = Model.Last,
                ContactCoID      = company.ContactCoID,
                ModifiedDate     = DateTime.Now,
                ContactManager   = Model.OwnerID
            };

            coContact.CoContactPhones.Add(new CoContactPhones()
            {
                PhoneTypeID = (int)EnumWrapper.PhoneTypes.Mobile, Phone = Model.Mobile, IsDefault = true
            });
            coContact.CoContactPhones.Add(new CoContactPhones()
            {
                PhoneTypeID = (int)EnumWrapper.PhoneTypes.Phone, Phone = Model.Phone, IsDefault = true
            });
            coContact.CoContactEmails.Add(new CoContactEmails()
            {
                EmailAddress = Model.Email, IsDefault = true
            });
            coContact.CoContactAddresses.Add(new CoContactAddresses()
            {
                Address1      = Model.Address1,
                Address2      = Model.Address2,
                City          = Model.City,
                State         = Model.State,
                Zip           = Model.Zip,
                CountryID     = Model.CountryID,
                AddressTypeID = (int)EnumWrapper.AddressTypes.Main
            });

            int contactID = repo.AddContact(coContact);

            if (contactID > 0)
            {
                return(contactID);
            }
            else
            {
                return(0);
            }
        }