public ActionResult AddApplicant(JObApplicationdata jobapplication, HttpPostedFileBase file)
        {
            string applicationid = "";
            string candidateid = Guid.NewGuid().ToString().Replace("-", "");

            Business.ApplicationService.AppServiceClient bd = new Business.ApplicationService.AppServiceClient();
            Business.CoreService.MyFile fileuploaded = new Business.CoreService.MyFile();
            Business.CoreService.IobjectServicesWebappVer2Client coreclient = new Business.CoreService.IobjectServicesWebappVer2Client();

            string customtoken = coreclient.Login("*****@*****.**", "password", "");
            AmazonFile af = new AmazonFile();
            fileuploaded = af.WriteFile(Request.Files[0].FileName, Request.Files[0].InputStream, candidateid, customtoken);
            coreclient.AddRelation(candidateid, fileuploaded.Id, "resume", customtoken);

            IList document = af.GetResourceTokens(null, candidateid, "resume", customtoken);

            string contentid = "";

            contentid = ((Business.CoreService.ResourceToken)document[0]).ContentId;

            string fileurl = af.GetFileUrl(contentid, customtoken);

            Business.ApplicantActions objApplicantActions = new ApplicantActions();
            try
            {
                applicationid = objApplicantActions.AddApplicant(Session["userid"].ToString(), Session["companyid"].ToString(),
                jobapplication.jobid, candidateid, "", contentid, "", jobapplication.data);
            }
            catch
            {
                applicationid = objApplicantActions.AddApplicant(candidateid, jobapplication.companyid,
                               jobapplication.jobid, candidateid, "", contentid, "", jobapplication.data);
            }
            return Redirect(Request.UrlReferrer.ToString());
        }
        public ActionResult forward(UI.Models.MessagingObjectModel.forward data)
        {
            string mailresponseid = "";
            Business.ApplicationService.AppServiceClient appclient = new Business.ApplicationService.AppServiceClient();
            string recipientstring = "";
            string[] recipients = data.recipientid.Split(',');
            foreach (string str in recipients)
            {
                if (str.ToLower() != "undefined" && str.Length > 0)
                {
                    if (str.ToLower().Length == 32)
                    {
                        if (recipientstring == "")
                        {
                            recipientstring = str;
                        }
                        else
                        {
                            recipientstring = recipientstring + ";" + str;
                        }
                    }
                    else
                    {
                        if (recipientstring == "")
                        {
                            recipientstring = str;
                        }
                        else
                        {
                            recipientstring = recipientstring + ";" + str;
                        }
                    }
                }
            }
            Business.CoreService.IobjectServicesWebappVer2Client client = new Business.CoreService.IobjectServicesWebappVer2Client();
            List<Business.ApplicationService.mailattachment> attachments = new List<Business.ApplicationService.mailattachment>();
            string companyemail = "";
            try
            {
                companyemail = Session["companyemail"].ToString();
            }
            catch
            {
                companyemail = "mailer@" + Session["companyname"].ToString() + ".com";
            }

            Business.ApplicationService.AppRestResponse response = appclient.SendComplexMessage(recipientstring, companyemail, "", data.messagebody.ToString(), data.mailsubject, attachments.ToArray(), Session["usertoken"].ToString());

            return Redirect(Request.UrlReferrer.ToString());
        }
        public ActionResult Add(ExternalInvoice einv, HttpPostedFileBase file)
        {
            Business.ApplicationService.AppServiceClient bd = new Business.ApplicationService.AppServiceClient();
            Business.CoreService.MyFile fileuploaded = new Business.CoreService.MyFile();
            Business.CoreService.IobjectServicesWebappVer2Client coreclient = new Business.CoreService.IobjectServicesWebappVer2Client();
            AmazonFile af = new AmazonFile();
            fileuploaded = af.WriteFile(Request.Files[0].FileName, Request.Files[0].InputStream, Session["companyid"].ToString(), Session["usertoken"].ToString());
            coreclient.AddRelation(einv.invoiceid, fileuploaded.Id, "extinv", Session["usertoken"].ToString());

            IList document = af.GetResourceTokens(null, einv.invoiceid, "extinv", Session["usertoken"].ToString());
               string fileurl = "";
               foreach (Business.CoreService.ResourceToken li in document)
               {

               fileurl = af.GetFileUrl(li.ContentId, Session["usertoken"].ToString());

               }

            return RedirectToAction("inbound");
        }
        public string relaymailmessage(string mailrecipients,string subject,string messagebody)
        {
            string mailresponseid = "";

            Business.ApplicationService.AppServiceClient appclient = new Business.ApplicationService.AppServiceClient();

            string recipientstring = "";
            string[] recipients = mailrecipients.Split(',');
            foreach (string str in recipients)
            {
                if (str.ToLower() != "undefined" && str.Length >0)
                {
                    if (str.ToLower().Length == 32)
                    {
                        if (recipientstring == "")
                        {
                            recipientstring = str;
                        }
                        else
                        {
                            recipientstring = recipientstring + "," + str;
                        }
                    }
                    else
                    {
                        if (recipientstring == "")
                        {
                            recipientstring = str;
                        }
                        else
                        {
                            recipientstring = recipientstring + "," + str;
                        }
                    }
                }
            }

            Business.CoreService.IobjectServicesWebappVer2Client client = new Business.CoreService.IobjectServicesWebappVer2Client();
            List<Business.ApplicationService.mailattachment> attachments = new List<Business.ApplicationService.mailattachment>();
            string companyemail = "";
            try
            {
                companyemail = Session["companyemail"].ToString();
            }
            catch
            {
                companyemail = "mailer@" + Session["companyname"].ToString() + ".com";
            }

            Business.ApplicationService.AppRestResponse response = appclient.SendComplexMessage(recipientstring, companyemail, messagebody.ToString(), messagebody.ToString(),subject, attachments.ToArray(), Session["usertoken"].ToString());
            return response.StatusCode;
        }
        public ActionResult SendMail(UI.Models.MessagingObjectModel.JObsBulkMail maildata)
        {
            Business.ApplicationService.AppServiceClient appclient = new Business.ApplicationService.AppServiceClient();

            string recipientstring = "";
            string[] recipients = maildata.recipients.Split(',');
            foreach (string str in recipients)
            {
                if (str.ToLower() != "undefined" && str.Length == 32)
                {
                    if (recipientstring == "")
                    {
                        recipientstring = str;
                    }
                    else
                    {
                        recipientstring = recipientstring + "," + str;
                    }
                }
            }
            Business.CoreService.IobjectServicesWebappVer2Client client = new Business.CoreService.IobjectServicesWebappVer2Client();

            List<Business.ApplicationService.mailattachment> attachments = new List<Business.ApplicationService.mailattachment>();
            string companyemail = "";
            try
            {
                companyemail = Session["companyemail"].ToString();
            }
            catch
            {
                companyemail = "mailer@" + Session["companyname"].ToString() + ".com";
            }
            Business.ApplicationService.AppRestResponse response = appclient.SendComplexMessage(recipientstring, companyemail, "", maildata.messagebody.ToString(), maildata.mailsubject, attachments.ToArray(), Session["usertoken"].ToString());
            string[] jobs = maildata.jobs.Split(';');

            foreach (string singlejob in jobs)
            {
                if (singlejob.Length == 32)
                {
                    appclient.Updateemailstatus(singlejob, 1);
                }
            }

            return Redirect(Request.UrlReferrer.ToString());
        }
        public ActionResult Index(User logindata)
        {
            Business.ApplicationService.AccessObject accessobj = new User().Login(logindata);
            if (accessobj.accesstoken == "")
            {
                logindata.isLoginValid = false;
                return View(logindata);
            }
            else
            {
                Business.CoreService.IobjectServicesWebappVer2Client coreclient = new Business.CoreService.IobjectServicesWebappVer2Client();
                if (accessobj.accessid == null || accessobj.accessid == "")
                {
                    try
                    {
                        Business.CoreService.Relation[] relations = coreclient.GetParents("", accessobj.role, accessobj.userid, accessobj.accesstoken);
                        accessobj.accessid = relations[0].ParentId;
                        accessobj.companyname = "";
                    }
                    catch
                    {

                        UI.Models.LoginModel.User failedlogin = new User();

                        failedlogin.isLoginValid = false;
                        failedlogin.Message = "User Doesn't belongs to any Company";

                        return View("Index", failedlogin);
                    }
                }

                Business.CoreService.User u = coreclient.GetUserObject(accessobj.accesstoken);
                if (u.Email != null || u.Email != "")
                {
                    Session.Add("companyemail", u.Email.Trim());
                }
                else
                {
                    Session.Add("companyemail","mailer@"+accessobj.companyname+".com");
                }
                Session.Add("usertoken", accessobj.accesstoken);
                Session.Add("userid", accessobj.userid);
                Session.Add("title", accessobj.usertitle);
                Session.Add("companyid", accessobj.accessid);
                //Session.Add("profileid", ProfileModel.GetUserProfile(accessobj.accessid).profileid);
                Session.Add("userrole", accessobj.role);
                Session.Add("companyname", accessobj.companyname);
                Dictionary<string, string> route = Business.ApplicationUtility.AfterLoginRoute(Session["usertoken"].ToString());

                if (route.Keys.Count > 0)
                {
                    return RedirectToAction(route["action"].ToString(), route["controller"].ToString());
                }
                else
                {
                    return RedirectToAction("Index", "Login");
                }
                //if(ProfileModel.GetProfilesetupstatus(Session["companyid"].ToString()))
                //return RedirectToAction("Index", "expenses");
                //else
                //    return RedirectToAction("expenses", "setup");
            }
        }