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 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));
            }
        }