예제 #1
0
        /// <summary>
        /// Generates and sends email to the newly accepted student asynchronously
        /// </summary>
        /// <param name="data"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        private async Task GenerateEmail(StudentData data, string password)
        {
            StaticVariables.StudentDetails = ContactApi.GetDataFromApi <UCMStudent>("getStudents");
            UCMStudent student = StaticVariables.StudentDetails.FirstOrDefault(p => p.AlternateEmail == data.NonUCMOEmailId);

            data.Id = student.Id;
            MailMessage mail = new MailMessage();

            mail.To.Add(new MailAddress(student.AlternateEmail));
            mail.From       = new MailAddress("*****@*****.**");
            mail.Subject    = "Congratulations";
            mail.IsBodyHtml = false;
            mail.Body       = EmailBody(data, password);
            using (var client = new SmtpClient())
            {
                client.Port        = 587;
                client.Credentials = new NetworkCredential
                {
                    UserName = "******",
                    Password = "******"
                };
                client.EnableSsl = true;
                client.Host      = "smtp.gmail.com";
                await client.SendMailAsync(mail);
            }
        }
예제 #2
0
        //public ActionResult ChangePassword(ChangePassword newPassword)
        public ActionResult ChangePassword(FormCollection form)
        {
            var     oldPwd       = form["OldPassword"];
            var     oldPwdHash   = PasswordGenerator.HashPassword(oldPwd);
            var     newPwd       = form["newPassword"];
            string  userCategory = string.Empty;
            UCMUser user         = new UCMUser();

            if (StaticVariables.Role.Equals("Student"))
            {
                userCategory = "Student";
                user         = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name));
            }
            else
            {
                userCategory = "Advisor";
                user         = StaticVariables.AdvisorDetails.FirstOrDefault(p => p.Id == Convert.ToInt32(User.Identity.Name));
            }
            if (oldPwdHash.Equals(user.Password))
            {
                var newPwdHash = PasswordGenerator.HashPassword(newPwd);
                user.Password = newPwdHash;
                bool updateStatus = ContactApi.PostToApi <UCMUser>(user, "updateUser");
                if (updateStatus)
                {
                    return(RedirectToAction(userCategory, "Home"));
                }
            }
            return(View());
        }
예제 #3
0
 public void deleteContact(ContactItem contactItem)
 {
     try
     {
         ContactApi    contactApi = new ContactApi(session.GetApiClient());
         List <String> keys       = new List <String>();
         keys.Add(contactItem.Key);
         DeleteContactsInput  input  = new DeleteContactsInput(keys);
         DeleteContactsResult result = contactApi.DeleteContacts(input);
         if (result.Hdr.Rc == 0)
         {
             /*List<String> failedUsers = result.FailedUsers;
              * if(failedUsers.Count > 0 )
              * {
              *  throw new Exception("Error deleting contact");
              * }*/
         }
         else
         {
             throw new Exception("Error deleting contact");
         }
     } catch (Exception ex)
     {
         throw new Exception("Error deleting contact", ex);
     }
 }
예제 #4
0
        public ContactItem getContact(String contactKey)
        {
            try {
                ContactApi       contactApi = new ContactApi(session.GetApiClient());
                GetProfileResult result     = contactApi.GetProfile(contactKey);

                if (result.Hdr.Rc == 0)
                {
                    ProfileRecord record      = result.ProfileRecord;
                    ContactItem   contactItem = new ContactItem();
                    contactItem.Name          = record.DisplayName;
                    contactItem.Email         = record.Email;
                    contactItem.Phone         = record.Phone;
                    contactItem.Key           = record.UserKey;
                    contactItem.IconKey       = record.IconSmall;
                    contactItem.ProfileRecord = record;
                    return(contactItem);
                }
                else
                {
                    throw new Exception("Error getting contact");
                }
            } catch (Exception ex)
            {
                throw new Exception("Error getting contact", ex);
            }
        }
예제 #5
0
        public ContactItem importContact(ContactItem contactItem)
        {
            try
            {
                ContactApi contactApi         = new ContactApi(session.GetApiClient());
                List <ImportUserRecord> users = new List <ImportUserRecord>();
                ImportUserRecord        user  = new ImportUserRecord();
                user.FirstName = contactItem.Name;
                user.Email     = contactItem.Email;
                user.Phone     = contactItem.Phone;
                users.Add(user);

                ImportAcquaintancesInput  input  = new ImportAcquaintancesInput(users);
                ImportAcquaintancesResult result = contactApi.ImportAcquaintances(input);
                if (result.Hdr.Rc == 0)
                {
                    List <ImportUserRecord> failedUsers = result.FailedUsers;
                    if (failedUsers.Count > 0)
                    {
                        throw new Exception("Error importing user");
                    }
                    else
                    {
                        return(searchUserByEmail(contactItem.Email));
                    }
                }
                else
                {
                    throw new Exception("Error importing contact");
                }
            } catch (Exception ex)
            {
                throw new Exception("Error importing contact", ex);
            }
        }
예제 #6
0
        public async Task <List <Contact> > GetContact(decimal?offset = null, decimal?limit = null, bool?thin     = null,
                                                       string format  = null, string maxLon = null, string minLon = null, string maxLat = null,
                                                       string minLat  = null, string maxTs  = null, string minTs  = null)
        {
            var contact = new ContactApi(Configuration);
            var list    = await contact.ContactGetAsync(offset, limit, thin, format, maxLon, minLon, maxLat, minLat, maxTs,
                                                        minTs);

            return(list);
        }
        public ActionResult EditStudentDetails(StudentData studentData)
        {
            var  Student = updateData(studentData);
            bool status  = ContactApi.PostToApi <UCMStudent>(Student, "updateStudent");

            if (status)
            {
                studentData = new StudentData();
            }
            return(View(studentData));
        }
        public ActionResult EditStudentAdvising(StudentAdvisingData data)
        {
            var  studentDetails = updateStudentDetails(data);
            bool status         = ContactApi.PostToApi <UCMStudent>(studentDetails, "updateStudent");

            if (status)
            {
                return(View(new StudentAdvisingData()));
            }
            return(View(data));
        }
예제 #9
0
        public ActionResult AddCourse(Course course)
        {
            bool added = ContactApi.PostToApi <Course>(course, "addCourse");

            if (added)
            {
                ModelState.Clear();
                StaticVariables.Courses.Add(course);
                return(View(new ViewModels.CourseInfo()));
            }
            return(View(course));
        }
예제 #10
0
        public ActionResult CreatePassword(int id)
        {
            UCMUser user        = StaticVariables.AdvisorDetails.FirstOrDefault(p => p.Id == id);
            string  password    = PasswordGenerator.GeneratePassword();
            string  md5Password = PasswordGenerator.HashPassword(password);

            user.Password = md5Password;
            bool status = ContactApi.PostToApi(user, "updateUser");

            ViewBag.Status = status;
            return(View());
        }
예제 #11
0
        /// <summary>
        /// The Main
        /// </summary>
        /// <param name="args">The args<see cref="string[]"/></param>
        internal static void Main(string[] args)
        {
            var json = TaobaokeTools.TaoBaoToolHelper.GetCouponList();



            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            //https://www.cnblogs.com/yilezhu/p/9339017.html
            //var dbType = ConfigHelper.Get("Gseey:Connections:DbConnectionType");

            LogHelper.RunLog("w3mElygkYDcK7oygeRnQYfR9qPDkxDAUifCvsvI5", logLevel: LogHelper.LogLevelEnum.Error);

            ExceptionlessClient.Default.Configuration.ApiKey    = "w3mElygkYDcK7oygeRnQYfR9qPDkxDAUifCvsvI5";
            ExceptionlessClient.Default.Configuration.ServerUrl = "http://*****:*****@"E:\1.jpg",
            //    UserIdList = userIdList,
            //    PartyIdList = result.partylist,
            //}).Result;


            Console.ReadKey();
        }
예제 #12
0
        public ActionResult UpdateAdvisorData(AdvisorData data)
        {
            var details = StaticVariables.AdvisorDetails.FirstOrDefault(p => p.Id == data.AdvisorId);

            UpdateAdvisorDetails(details, data);
            bool status = ContactApi.PostToApi <UCMModerator>(details, "updateAdvisor");

            if (status)
            {
                return(RedirectToAction("UpdateAdvisor"));
            }
            return(View(data));
        }
        public ActionResult EditConcentration(ViewProgram viewProgram)
        {
            Program program = StaticVariables.Programs.FirstOrDefault(p => p.Id == viewProgram.Id);

            populateProgramDetails(program, viewProgram);
            bool status = ContactApi.PostToApi <Program>(program, "updateProgram");

            if (status)
            {
                return(RedirectToAction("EditConcentrationList"));
            }
            return(View(viewProgram));
        }
예제 #14
0
        /// <summary>
        /// creates a new <see cref="HubSpot"/>
        /// </summary>
        /// <param name="restclient">rest client used to access hubspot</param>
        /// <param name="options">options for hubspot api</param>
        public HubSpot(HubSpotRestClient restclient, HubSpotOptions options = null)
        {
            options = options ?? new HubSpotOptions();
            ModelRegistry registry = new ModelRegistry();

            Contacts     = new ContactApi(options, restclient, registry);
            Companies    = new CompanyApi(restclient, registry);
            Associations = new AssociationApi(restclient);
            Deals        = new DealsApi(restclient, registry);
            Tickets      = new TicketsApi(restclient, registry);
            BlogPosts    = new BlogPostApi(restclient, registry);
            Engagements  = new EngagementsApi(options, restclient, registry);
        }
예제 #15
0
 /// <summary>
 /// Redirects to advisor home page
 /// </summary>
 /// <returns></returns>
 public ActionResult Advisor()
 {
     StaticVariables.StudentDetails   = ContactApi.GetDataFromApi <UCMStudent>("getStudents");
     StaticVariables.AdvisorDetails   = ContactApi.GetDataFromApi <UCMModerator>("getAdvisors");
     StaticVariables.Programs         = ContactApi.GetDataFromApi <Program>("getPrograms");
     StaticVariables.Courses          = ContactApi.GetDataFromApi <Models.Course>("getCourses");
     StaticVariables.Roles            = ContactApi.GetDataFromApi <Role>("getRoles");
     StaticVariables.TrainingStatuses = ContactApi.GetDataFromApi <Student_TrainingStatus>("getStudentTrainingStatus");
     StaticVariables.Trainings        = ContactApi.GetDataFromApi <Training>("getTrainingRepo");
     StaticVariables.AcademicStatuses = ContactApi.GetDataFromApi <Student_AcademicStatus>("getStudentAcademicStatus");
     ViewBag.Title = StaticVariables.AdvisorDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name)).FirstName;
     return(View());
 }
예제 #16
0
        public ActionResult AddPrereqs(Course courseInfo)
        {
            Course course = StaticVariables.Courses.FirstOrDefault(p => p.Id == courseInfo.Id);

            course.PreqId         = courseInfo.PreqId;
            course.PrereqIsActive = courseInfo.PrereqIsActive;
            bool status = ContactApi.PostToApi <Course>(course, "updateCourse");

            if (status)
            {
                return(RedirectToAction("GetCourse"));
            }
            return(View(course));
        }
        public ActionResult AddConcentration(ViewProgram viewProgram)
        {
            Program program = new Program();

            populateProgramDetails(program, viewProgram);
            bool status = ContactApi.PostToApi(program, "AddProgram");

            if (status)
            {
                ModelState.Clear();
                viewProgram = new ViewProgram();
            }
            return(View(viewProgram));
        }
예제 #18
0
        public ActionResult ACCCompleted()
        {
            int        id      = Convert.ToInt32(User.Identity.Name);
            UCMStudent student = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == id);

            student.StudentTrainingStatusId = 3;
            bool status = ContactApi.PostToApi(student, "updateStudent");

            if (status)
            {
                return(RedirectToAction("Student"));
            }
            return(RedirectToAction("AcademicCodeOfConduct"));
        }
예제 #19
0
 /// <summary>
 /// Redirects to director home page
 /// </summary>
 /// <returns></returns>
 public ActionResult Director()
 {
     StaticVariables.StudentDetails   = ContactApi.GetDataFromApi <UCMStudent>("getStudents");
     StaticVariables.AdvisorDetails   = ContactApi.GetDataFromApi <UCMModerator>("getAdvisors");
     StaticVariables.Programs         = ContactApi.GetDataFromApi <Program>("getPrograms");
     StaticVariables.Courses          = ContactApi.GetDataFromApi <Models.Course>("getCourses");
     StaticVariables.Roles            = ContactApi.GetDataFromApi <Role>("getRoles");
     StaticVariables.TrainingStatuses = ContactApi.GetDataFromApi <Student_TrainingStatus>("getStudentTrainingStatus");
     StaticVariables.Trainings        = ContactApi.GetDataFromApi <Training>("getTrainingRepo");
     StaticVariables.AcademicStatuses = ContactApi.GetDataFromApi <Student_AcademicStatus>("getStudentAcademicStatus");
     StaticVariables.Majors           = ContactApi.GetDataFromApi <Major>("getMajors");
     ViewBag.Title = "Mr. Director";
     return(View());
 }
예제 #20
0
        public ActionResult AddAdvisor(AdvisorData advisorData)
        {
            UCMModerator details = new UCMModerator();

            populateAdvisorDetails(details, advisorData);
            bool added = ContactApi.PostToApi <UCMModerator>(details, "addAdvisor");

            if (added)
            {
                ModelState.Clear();
                StaticVariables.AdvisorDetails.Add(details);
                return(View(new AdvisorData()));
            }
            return(View(advisorData));
        }
예제 #21
0
 public void inviteEmailAddress(ContactItem contact, String type)
 {
     try
     {
         ContactApi contactApi           = new ContactApi(session.GetApiClient());
         InviteEmailAddressInput  input  = new InviteEmailAddressInput(type, true, contact.Email, "Invitation message");
         InviteEmailAddressResult result = contactApi.InviteEmailAddress(input);
         if (result.Hdr.Rc != 0)
         {
             throw new Exception("Error while inviting email address");
         }
     } catch (Exception ex)
     {
         throw new Exception("Error while inviting email address", ex);
     }
 }
예제 #22
0
        public async Task <ActionResult> AddStudent(StudentData data)
        {
            string     password    = PasswordGenerator.GeneratePassword();
            string     md5Password = PasswordGenerator.HashPassword(password);
            UCMStudent student     = new UCMStudent();

            populateUCMStudent(student, data, md5Password);
            bool postStatus = ContactApi.PostToApi <UCMStudent>(student, "addStudent");

            if (postStatus)
            {
                await GenerateEmail(data, password);

                ModelState.Clear();
            }
            return(View(data));
        }
예제 #23
0
 public void inviteContact(ContactItem contact, String invitationMessage, String type)
 {
     try
     {
         ContactApi    contactApi  = new ContactApi(session.GetApiClient());
         List <String> contactKeys = new List <String>();
         contactKeys.Add(contact.Key);
         InviteUsersInput  input  = new InviteUsersInput(type, null, invitationMessage, contactKeys);
         InviteUsersResult result = contactApi.InviteUsers(input);
         if (result.Hdr.Rc != 0)
         {
             throw new Exception("Error while inviting contact key " + contact.Key);
         }
     }
     catch (Exception ex)
     {
         throw new Exception("Error while inviting contactkey " + contact.Key, ex);
     }
 }
예제 #24
0
        public void AgileCrmInit(ref ContactApi contactApi, ref DealApi dealApi)
        {
            using (var ctx = new SynergyDbContext())
            {
                var userId = SynergySecurity.GetCurrentUser();

                var apiConfiguration = ctx.Synergy_ApiConfigurations.
                                       Where(x => x.UserId == userId && x.IsActive).FirstOrDefault();
                if (apiConfiguration != null)
                {
                    contactApi = new ContactApi(agileKey: apiConfiguration.Key, agileEmail: apiConfiguration.Email, agileUrl: apiConfiguration.Url);
                    dealApi    = new DealApi(agileKey: apiConfiguration.Key, agileEmail: apiConfiguration.Email, agileUrl: apiConfiguration.Url);
                }
                else
                {
                    contactApi = new ContactApi();
                    dealApi    = new DealApi();
                }
            }
        }
예제 #25
0
        public ActionResult SaveContact(ContactModel obj)
        {
            _contactApi = new ContactApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");
            Contact _contact = new Contact()
            {
                FirstName         = obj.FirstName,
                LastName          = obj.LastName,
                NickName          = obj.NickName,
                Title             = obj.Title,
                Phone             = obj.Phone,
                Fax               = obj.Fax,
                Email             = obj.Email,
                Id                = 0,
                CompanyIdentifier = obj.companyIdentifier
            };
            var result = _contactApi.AddOrUpdateContact(_contact);



            return(RedirectToAction("Index", new { callerID = obj.Phone }));
        }
예제 #26
0
        /// <summary>
        /// Redirects to home page of students,
        /// </summary>
        /// <returns></returns>
        public ActionResult Student()
        {
            StaticVariables.StudentDetails   = ContactApi.GetDataFromApi <UCMStudent>("getStudents");
            StaticVariables.Roles            = ContactApi.GetDataFromApi <Role>("getRoles");
            StaticVariables.TrainingStatuses = ContactApi.GetDataFromApi <Student_TrainingStatus>("getStudentTrainingStatus");
            StaticVariables.Trainings        = ContactApi.GetDataFromApi <Training>("getTrainingRepo");
            StaticVariables.AcademicStatuses = ContactApi.GetDataFromApi <Student_AcademicStatus>("getStudentAcademicStatus");
            ViewBag.Title = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name)).FirstName;
            UCMStudent student             = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name));
            bool       questionnaireStatus = checkQuestionnaire(Convert.ToInt32(User.Identity.Name));

            if (!questionnaireStatus)
            {
                return(RedirectToAction("FillQuestionnaire", "Questionnaire"));
            }
            if (StaticVariables.TrainingStatuses.FirstOrDefault(p => p.Id == student.StudentTrainingStatusId).TrainingStatus.ToLower().Equals("Due".ToLower()))
            {
                return(RedirectToAction("AcademicCodeOfConduct"));
            }
            return(View());
        }
예제 #27
0
        public ActionResult GetContactsDropDown(string CompanyIdentifier)
        {
            string companyCondition = "CompanyIdentifier = '" + CompanyIdentifier + "'";

            _contactApi = new ContactApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");
            _companyApi = new CompanyApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");


            List <CompanyFindResult> list2 = _companyApi.FindCompanies(companyCondition, "Id asc", new int?(100000), new int?(0), new List <string>
            {
                "Id",
                "CompanyName",
                "CompanyIdentifier"
            });
            int companyId = list2.FirstOrDefault().Id;

            string conditions = "CompanyId = " + companyId;


            List <ContactFindResult> Contactlst = _contactApi.FindContacts(conditions, "", new int?(1000), new int?(0), "", new List <string>
            {
                "Id",
                "FirstName",
                "LastName",
                "Type",
                "CompanyId"
            });

            var query = Contactlst.Select(a => new
            {
                Id   = a.Id,
                Name = a.FirstName + " " + a.LastName
            }).ToList();


            return(Json(new SelectList(query.ToArray(), "Id",
                                       "Name"), JsonRequestBehavior.AllowGet));
        }
예제 #28
0
        //public ActionResult Test()
        //{
        //    // _memberApi = new MemberApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");
        //    // List<MemberFindResult> list2 = _memberApi.FindMembers("", "FirstName asc", new int?(1000), new int?(0), new List<string>());
        //    ServiceTicketApi _serviceTicketApi;
        //    _serviceTicketApi = new ServiceTicketApi("https://api-eu.myconnectwise.net", "novaram", "callcenter", "Test123!", "NovaramCred");
        //    var result = _serviceTicketApi.FindServiceTickets("","",new int?(1000),new int?(0),false ,new List<string>());


        //    return View();
        //}

        public int GetContactsId(string Contact)
        {
            string conditions = "Phone = '" + Contact + "'";

            _contactApi = new ContactApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");
            //_companyApi = new CompanyApi("https://control.mysupport247.net", "Mysupport247", "SwitchvoxAPI", "mH5219b2vri0KUa", "NovaramCred1");


            //List<CompanyFindResult> list2 = _companyApi.FindCompanies(companyCondition, "Id asc", new int?(100000), new int?(0), new List<string>
            //{
            //    "Id",
            //    "CompanyName",
            //    "CompanyIdentifier"
            //});
            //int companyId = list2.FirstOrDefault().Id;

            //string conditions = "CompanyId = " + companyId;


            List <ContactFindResult> Contactlst = _contactApi.FindContacts(conditions, "", new int?(1000), new int?(0), "", new List <string>
            {
                "Id",
                "FirstName",
                "LastName",
                "Type",
                "CompanyId"
            });

            var query = Contactlst.Select(a => new
            {
                Id   = a.Id,
                Name = a.FirstName + " " + a.LastName
            }).ToList();


            return(query.FirstOrDefault().Id);
        }
예제 #29
0
 public void Init()
 {
     instance = new ContactApi();
 }
예제 #30
0
 /// <summary>
 /// Returns View with list of Courses to choose from drop down
 /// </summary>
 /// <returns></returns>
 public ActionResult GetCourse()
 {
     StaticVariables.Courses = ContactApi.GetDataFromApi <Models.Course>("getCourses");
     return(View(StaticVariables.Courses));
 }