示例#1
0
        public string GetContactTelephone(int pid)
        {
            string result = "";

            try
            {
                var contactprocess = new EditContact();
                contactprocess.Populate(new PersonID(pid));

                //logger.Info(pid);

                if (contactprocess.Contact.Phones.Value.Count > 0)
                {
                    int    workcount = 1;
                    string telephone = null;

                    //logger.Info("Email count: " + contactprocess.Contact.Emails.Value.Count);

                    foreach (Telephone item in contactprocess.Contact.Phones.Value)
                    {
                        //logger.Info(pid + " - " + item.Address.ToLower());
                        if (workcount == 1)
                        {
                            telephone = item.Number.ToLower();
                        }
                        else
                        {
                            telephone = telephone + "," + item.Number.ToLower();
                        }
                        workcount = workcount + 1;
                    }
                    if (string.IsNullOrEmpty(telephone))
                    {
                        return("<NO TYPE EMAIL>");
                    }
                    return(telephone);
                }
                return("<BLANK>");
            }
            catch (Exception GetContactEmailException)
            {
                logger.Log(LogLevel.Error, GetContactEmailException);
            }
            return(result);
        }
示例#2
0
        public bool SetContactUDF(Int32 personid, string udfvalue)
        {
            try
            {
                using (EditContact process = new EditContact())
                {
                    // Load Contact record
                    process.Populate(new PersonID(personid));
                    foreach (UDFValue udfVal in process.Contact.UDFValues)
                    {
                        if (simsudf == udfVal.TypedValueAttribute.Description)
                        {
                            if (Core.SetUdf(udfVal, udfvalue))
                            {
                                // Get a NullReferenceException if there isn't a contact relation. So set a 'null' one so it can save, but doesn't update any relationships.
                                StudentContact relation = new StudentContact(0);
                                relation.RelationType           = new RelationType();
                                process.Contact.ContactRelation = relation;
                                return(process.Save());
                            }
                            else
                            {
                                return(false);
                            }
                        }
                    }

                    logger.Error("UDF {0} not found.", simsudf);
                    return(false);
                }
            }
            catch (Exception e)
            {
                logger.Log(LogLevel.Error, "SetContactUDF " + e);
                return(false);
            }
        }
示例#3
0
        /// <summary>
        /// SetContactTelephone
        /// </summary>
        /// <param name="personid"></param>
        /// <param name="telephone"></param>
        /// <param name="main"></param>
        /// <param name="primary"></param>
        /// <param name="notes"></param>
        /// <param name="location"></param>
        /// <param name="device"></param>
        /// <returns></returns>
        public bool SetContactTelephone(Int32 personid, string telephone, string main, string primary, string notes, string location, string device)
        {
            try
            {
                logger.Log(LogLevel.Debug, "Trace:: SIMSBulkImport.Classes.Contacts.SetContactTelephone(personid=" + personid + ", telephone=" + telephone +
                           ", main=" + main + ", primary=" + primary + ", notes=" + notes + ", location=" + location + ", device=" + device);
                var contactprocess = new EditContact();

                // Load Contact record
                contactprocess.Populate(new PersonID(personid));
                IContactRelation relation = null;
                relation = new StudentContact();
                contactprocess.Contact.ContactRelation = relation;

                // Create a new Email record
                var phone = new Telephone();

                // Set the email address
                phone.NumberAttribute.Value = telephone;


                // Set Main
                switch (main)
                {
                case "Yes":
                    phone.MainAttribute.Value = (contactprocess.Contact.Phones.Value.Count > 0)
                            ? TelephoneMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : TelephoneMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;

                case "Yes (Overwrite)":
                    phone.MainAttribute.Value = TelephoneMainCollection.GetValues().Item(1);
                    break;

                case "No":
                    phone.MainAttribute.Value = TelephoneMainCollection.GetValues().Item(0);
                    break;

                default:
                    phone.MainAttribute.Value = (contactprocess.Contact.Phones.Value.Count > 0)
                            ? TelephoneMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : TelephoneMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;
                }

                // Set Primary
                switch (primary)
                {
                case "Yes":
                    phone.PrimaryAttribute.Value = (contactprocess.Contact.Phones.Value.Count > 0)
                            ? TelephoneMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : TelephoneMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;

                case "Yes (Overwrite)":
                    phone.PrimaryAttribute.Value = TelephoneMainCollection.GetValues().Item(1);
                    break;

                case "No":
                    phone.PrimaryAttribute.Value = TelephoneMainCollection.GetValues().Item(0);
                    break;

                default:
                    phone.PrimaryAttribute.Value = (contactprocess.Contact.Phones.Value.Count > 0)
                            ? TelephoneMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : TelephoneMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;
                }

                // Set the notes
                if (!string.IsNullOrWhiteSpace(notes))
                {
                    phone.NotesAttribute.Value = notes;
                }

                // Set the location
                phone.LocationAttribute.Value = PersonCache.TelephoneLocations.ItemByDescription(location);

                // Set the device (telephone\fax)
                phone.DeviceAttribute.Value = PersonCache.TelephoneDevices.ItemByDescription(device);

                // Run Validation against the new record
                phone.Validate();
                logger.Log(LogLevel.Debug, "Telephone Valid: " + phone.Valid());

                // Writes the new record to the database
                contactprocess.Contact.Phones.Add(phone);
                return(contactprocess.Save());
            }
            catch (Exception SetContactsTelephone_Exception)
            {
                logger.Log(LogLevel.Error, "SetContactsTelephone " + SetContactsTelephone_Exception);
                return(false);
            }
        }
示例#4
0
        /// <summary>
        /// SetContactEmail
        /// </summary>
        /// <param name="personid"></param>
        /// <param name="emailValue"></param>
        /// <param name="main"></param>
        /// <param name="primary"></param>
        /// <param name="notes"></param>
        /// <param name="location"></param>
        /// <returns></returns>
        public bool SetContactEmail(Int32 personid, string emailValue, string main, string primary, string notes, string location)
        {
            try
            {
                logger.Log(LogLevel.Debug, "Trace:: SIMSBulkImport.Classes.Contacts.SetContactEmail(personid=" + personid + ", emailValue=" + emailValue +
                           ", main=" + main + ", primary=" + primary + ", notes=" + notes + ", location=" + location);
                var contactprocess = new EditContact();

                // Load Contact record
                contactprocess.Populate(new PersonID(personid));
                IContactRelation relation = null;
                relation = new StudentContact();
                contactprocess.Contact.ContactRelation = relation;

                // Create a new Email record
                var email = new EMail();

                // Set the email address
                email.AddressAttribute.Value = emailValue;

                // Set Main
                switch (main)
                {
                case "Yes":
                    email.MainAttribute.Value = (contactprocess.Contact.Emails.Value.Count > 0)
                            ? EMailMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : EMailMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;

                case "Yes (Overwrite)":
                    email.MainAttribute.Value = EMailMainCollection.GetValues().Item(1);
                    break;

                case "No":
                    email.MainAttribute.Value = EMailMainCollection.GetValues().Item(0);
                    break;

                default:
                    email.MainAttribute.Value = (contactprocess.Contact.Emails.Value.Count > 0)
                            ? EMailMainCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : EMailMainCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;
                }

                switch (primary)
                {
                case "Yes":
                    email.PrimaryAttribute.Value = (contactprocess.Contact.Emails.Value.Count > 0)
                            ? EMailPrimaryCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : EMailPrimaryCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;

                case "Yes (Overwrite)":
                    email.PrimaryAttribute.Value = EMailPrimaryCollection.GetValues().Item(1);
                    break;

                case "No":
                    email.PrimaryAttribute.Value = EMailPrimaryCollection.GetValues().Item(0);
                    break;

                default:
                    email.PrimaryAttribute.Value = (contactprocess.Contact.Emails.Value.Count > 0)
                            ? EMailPrimaryCollection.GetValues().Item(1) as CodeDescriptionEntity
                            : EMailPrimaryCollection.GetValues().Item(0) as CodeDescriptionEntity;
                    break;
                }

                // Set the notes
                if (!string.IsNullOrWhiteSpace(notes))
                {
                    email.NotesAttribute.Value = notes;
                }

                // Set the location
                email.LocationAttribute.Value = PersonCache.EmailLocations.ItemByDescription(location);

                // Run Validation against the new record
                email.Validate();
                logger.Log(LogLevel.Debug, "Email Valid: " + email.Valid());

                // Save the new record to the database
                contactprocess.Contact.Emails.Add(email);
                return(contactprocess.Save());
            }
            catch (Exception SetContactEmail_Exception)
            {
                logger.Log(LogLevel.Error, SetContactEmail_Exception);
                return(false);
            }
        }