Ejemplo n.º 1
0
        public ActionResult Login(string returnUrl, int?serviceid, int?isdefault)
        {
            ViewBag.ReturnUrl = returnUrl;
            var loginmodel = new AppLoginModel();

            loginmodel.ServiceId = serviceid ?? 0;
            loginmodel.UserName  = WebApp.Services.GlobalUserContext.GetProfile(string.Format(pnameusername, loginmodel.ServiceId));
            loginmodel.Password  = WebApp.Services.GlobalUserContext.GetProfile(string.Format(pnamepassword, loginmodel.ServiceId));

            if (isdefault == 1)
            {
                try
                {
                    if (String.IsNullOrEmpty(loginmodel.UserName) || String.IsNullOrEmpty(loginmodel.Password) || loginmodel.ServiceId == 0)
                    {
                        throw new InvalidOperationException("Phải nhập tên đăng nhập và mật khẩu.");
                    }

                    WebApp.Models.SenContext sendb = new WebApp.Models.SenContext();
                    var company = sendb.SenServices.Where(m => m.ServiceId == loginmodel.ServiceId && m.UserProfile.UserName == User.Identity.Name).FirstOrDefault();

                    if (company.SenCompany.IsApproved != true)
                    {
                        throw new InvalidOperationException("Doanh nghiệp đang chờ duyệt./n Không thể truy cập được.");
                    }

                    string            cnn = company.SenCompany.ConnectionString;
                    WebAppAccEntities db  = new WebAppAccEntities(cnn);

                    string CompanyName = db.SysCompanies.Where(m => m.EnumValue == "CompanyName").FirstOrDefault().EnumName;

                    WebApp.Areas.Accounting.Services.GlobalVariant.SetConnection(cnn);
                    WebApp.Areas.Accounting.Services.GlobalVariant.SetCompanyName(CompanyName);
                    WebApp.Areas.Accounting.Services.GlobalVariant.SetCompanyId(company.CompanyId.ToString());

                    if (!WebApp.Areas.Accounting.Services.User.Login(loginmodel.UserName, loginmodel.Password))
                    {
                        throw new InvalidOperationException("Tên đăng nhập và mật khẩu không hợp lệ.");
                    }

                    WebApp.Services.GlobalUserContext.AddProfile(string.Format(pnameusername, loginmodel.ServiceId), loginmodel.UserName);
                    WebApp.Services.GlobalUserContext.AddProfile(string.Format(pnamepassword, loginmodel.ServiceId), loginmodel.Password);

                    company.SenCompany.LastLoginDate = DateTime.Now;

                    sendb.Entry(company.SenCompany).State = System.Data.Entity.EntityState.Modified;
                    sendb.SaveChanges();

                    return(RedirectToLocal(returnUrl));
                }
                catch (Exception)
                {
                }
            }

            return(View(loginmodel));
        }
Ejemplo n.º 2
0
        public ActionResult ContractNotification(int ContractId, int ContractType)
        {
            try
            {
                #region mail cho người dùng
                var contract = _dataobject.GetById(ContractId);
                var user     = contract.Assign;
                //IWebHelper webhelper = new WebHelper(this.HttpContext);
                //var urlactive = Url.Action("RegisterActive").Remove(0, 1);
                //string RegisterActiveUrl = string.Format("{0}{1}?id={2}", webhelper.GetStoreLocation(), urlactive, user.UserId);
                string emailto = user.Email;

                // xử lí tạm cần dùng một mẫu tạm để gửi cho khách hàng
                #region thiết lập token
                //GlobalToken.setToken("Account.RegisterActiveURL", RegisterActiveUrl);
                GlobalToken.setToken("Account.Name", user.UserName);
                GlobalToken.setToken("SenContract.ContractNumber", contract.ContractNumber);
                #endregion

                string SenMessageTemplate_Name = "sencontract.notificationnew";
                if (ContractType == 1)
                {
                    SenMessageTemplate_Name = "sencontract.notificationupdate";
                }
                if (ContractType == 2)
                {
                    SenMessageTemplate_Name = "sencontract.notificationend";
                }

                var db = new WebApp.Models.SenContext();
                var messagetemplate = db.SenMessageTemplates.SingleOrDefault(m => m.Name == SenMessageTemplate_Name && m.IsActive == true);

                var queuedemail = new WebApp.Models.SenQueuedEmail();
                queuedemail.CreatedOnUtc   = DateTime.UtcNow;
                queuedemail.EmailAccountId = messagetemplate.EmailAccountId;
                queuedemail.From           = messagetemplate.SenEmailAccount.Email;
                queuedemail.FromName       = messagetemplate.SenEmailAccount.DisplayName;
                queuedemail.Bcc            = messagetemplate.BccEmailAddresses;
                queuedemail.Subject        = GlobalToken.MappingToken(messagetemplate.Subject);
                queuedemail.To             = emailto;
                queuedemail.ToName         = user.UserName;
                queuedemail.Priority       = 0;
                queuedemail.Body           = GlobalToken.MappingToken(messagetemplate.Body);

                db.SenQueuedEmails.Add(queuedemail);
                db.SaveChanges();
                #endregion
            }
            catch (Exception ex)
            {
                return(Json(new { ketqua = ex.Message }));
            }

            return(Json(new { ketqua = "Đã email Ok." }));
        }
Ejemplo n.º 3
0
        public ActionResult Login(Models.AppLoginModel model, string returnUrl)
        {
            try
            {
                if (String.IsNullOrEmpty(model.UserName) || String.IsNullOrEmpty(model.Password) || model.ServiceId == 0)
                {
                    throw new InvalidOperationException("Phải nhập tên đăng nhập và mật khẩu.");
                }

                WebApp.Models.SenContext sendb = new WebApp.Models.SenContext();
                var company = sendb.SenServices.Where(m => m.ServiceId == model.ServiceId && m.UserProfile.UserName == User.Identity.Name).FirstOrDefault();

                if (company.SenCompany.IsApproved != true)
                {
                    throw new InvalidOperationException("Doanh nghiệp đang chờ duyệt./n Không thể truy cập được.");
                }

                string cnn = company.SenCompany.ConnectionString;
                Models.WebAppAccEntities db = new Models.WebAppAccEntities(cnn);

                string CompanyName = db.SysCompanies.Where(m => m.EnumValue == "CompanyName").FirstOrDefault().EnumName;

                Services.GlobalVariant.SetConnection(cnn);
                Services.GlobalVariant.SetCompanyName(CompanyName);

                Services.GlobalVariant.SetCompanyId(company.CompanyId.ToString());

                if (!Services.User.Login(model.UserName, model.Password))
                {
                    throw new InvalidOperationException("Tên đăng nhập và mật khẩu không hợp lệ.");
                }

                WebApp.Services.GlobalUserContext.AddProfile(string.Format(pnameusername, model.ServiceId), model.UserName);
                WebApp.Services.GlobalUserContext.AddProfile(string.Format(pnamepassword, model.ServiceId), model.Password);


                company.SenCompany.LastLoginDate = DateTime.Now;

                sendb.Entry(company.SenCompany).State = System.Data.Entity.EntityState.Modified;
                sendb.SaveChanges();

                return(RedirectToLocal(returnUrl));
            }
            catch (Exception ex)
            {
                Services.GlobalErrors.Parse(ModelState, ex);
                return(View(model));
            }
        }