Ejemplo n.º 1
0
        public static crm_Tenants ToEntity(this TenantModel model)
        {
            var _tenantEntity = new crm_Tenants();

            AutoMapper.Mapper.CreateMap <TenantModel, crm_Tenants>();
            AutoMapper.Mapper.Map(model, _tenantEntity);
            return(_tenantEntity);
        }
Ejemplo n.º 2
0
        public static TenantModel ToModel(this crm_Tenants entity)
        {
            var _tenantModel = new TenantModel();

            AutoMapper.Mapper.CreateMap <crm_Tenants, TenantModel>();
            AutoMapper.Mapper.Map(entity, _tenantModel);
            return(_tenantModel);
        }
Ejemplo n.º 3
0
        public ActionResult ActiveConfirmed(int id)
        {
            crm_Tenants crm_tenants = _tenantService.Find(id);

            crm_tenants.Active = true;
            _tenantService.Update(crm_tenants);
            _unitOfWork.SaveChanges();
            return(Json(new { Status = 0, Message = "Active tenant success!" }));
        }
Ejemplo n.º 4
0
        public ActionResult DeactiveConfirmed(int id)
        {
            crm_Tenants crm_tenants = _tenantService.Find(id);

            crm_tenants.Active = false;
            _tenantService.Update(crm_tenants);
            _unitOfWork.SaveChanges();
            return(Json(new { Status = 0, Message = Caching.GetValue("Tenant.Deactive_msg") }));
        }
Ejemplo n.º 5
0
        public string AddEditAction(UserGroupSubmitModel model)
        {
            //Variables
            crm_Roles         role        = new crm_Roles();
            ActionResultModel returnModel = new ActionResultModel();
            crm_Tenants       tenant      = null;
            bool     isExist            = false;
            UserInfo usInfo             = null;
            int      totalNameDuplicate = 0;


            //Check permission type valid
            foreach (UserGroupEnum item in Enum.GetValues(typeof(UserGroupEnum)))
            {
                if (model.PermissionTypeID == Convert.ToInt32(item))
                {
                    isExist = true;
                    break;
                }
            }

            if (!isExist)
            {
                returnModel.IsSuccess = 0;
                returnModel.Message   = "Permission Type is not exist in system!";
                return(JsonConvert.SerializeObject(returnModel));
            }

            if (model.ID > 0)
            {
                role = _roleService.ODataQueryable().Where(x => x.ID.Equals(model.ID)).FirstOrDefault();//.GetRoleByID(model.ID);
            }
            //Check usergroup exist
            if (role == null)
            {
                returnModel.IsSuccess = 0;
                returnModel.Message   = "User group is not exist in system!";
                return(JsonConvert.SerializeObject(returnModel));
            }
            //Check usergroup name exist
            //totalNameDuplicate = _roleService.CheckExistRoleName(model.Name.Trim());
            //if ((model.ID <= 0 && totalNameDuplicate > 0) //Case create new
            //    || (model.ID > 0 && totalNameDuplicate > 1 && model.OldName.Trim() == model.Name.Trim())//case edit that dont change name
            //    || (model.ID > 0 && totalNameDuplicate > 0 && model.OldName.Trim() != model.Name.Trim()))//case edit that change name
            //{
            //    returnModel.IsSuccess = 0;
            //    returnModel.Message = "User group's name is not exist in system!";
            //    return JsonConvert.SerializeObject(returnModel);
            //}

            /*
             * author: ri.khanh
             * date:2014.07.21
             * fuction:check duplication roleName in 1 same group
             */

            if (!CheckDuplicatedRolename(model.Name, model.TenantId, model.ID))
            {
                returnModel.IsSuccess = 0;
                returnModel.Message   = "User group's name is not exist in system!";
                return(JsonConvert.SerializeObject(returnModel));
            }


            usInfo = System.Web.HttpContext.Current.Session["UserInfo"] as UserInfo;
            //Set data to insert or update
            role.Active         = model.Active != null ? true : false;
            role.RoleName       = WebUtility.HtmlEncode(model.Name.Trim());
            role.Description    = WebUtility.HtmlEncode((model.Description + "").Trim());
            role.PermissionType = model.PermissionTypeID;
            role.MaskPermission = model.PermissionTypeID;

            //ri.khanh
            if (userInfo.TenanID.Equals(0))
            {
                if (!model.PermissionTypeID.Equals((int)UserGroupEnum.Operator))
                {
                    if (model.TenantId.Equals(0))
                    {
                        returnModel.IsSuccess = 0;
                        returnModel.Message   = "please select tentant!";
                        return(JsonConvert.SerializeObject(returnModel));
                    }
                    role.TenantId = model.TenantId;
                }
                else
                {
                    role.TenantId = 0;
                }
            }

            //If logged in user is tenant or lower will set tenant id of logged in user
            foreach (int curBitMask in usInfo.BitMask)
            {
                if (model.ID <= 0 && curBitMask <= (int)UserGroupEnum.TenantAdmin)
                {
                    role.TenantId = usInfo.TenanID;
                }
            }

            //Submit data
            if (model.ID <= 0)
            {
                _roleService.Insert(role);
            }
            else
            {
                role.ObjectState = ObjectState.Modified;
            }

            returnModel.IsSuccess = _unitOfWork.SaveChanges();
            returnModel.Message   = returnModel.IsSuccess > 0 ? "Data were saved successfully!" : "Data were saved unsuccessfully!";
            //Write log
            //Action successfully
            if (returnModel.IsSuccess > 0)
            {
                //Case insert
                if (model.ID > 0)
                {
                    _helper.InsertLogActive(_logService, _unitOfWork, "UserGroup", "Update new usergroup", 2, true);
                }
                else//Case update
                {
                    _helper.InsertLogActive(_logService, _unitOfWork, "UserGroup", "Insert usergroup", 1, true);
                }
            }
            else//Action fail
            {
                //Case insert
                if (model.ID > 0)
                {
                    _helper.InsertLogActive(_logService, _unitOfWork, "UserGroup", "Update new usergroup", 2, false);
                }
                else//Case update
                {
                    _helper.InsertLogActive(_logService, _unitOfWork, "UserGroup", "Insert usergroup", 1, false);
                }
            }

            return(JsonConvert.SerializeObject(returnModel));
        }
Ejemplo n.º 6
0
        public async Task <ActionResult> LogOn(LoginModels model, string returnUrl)
        {
            //variables
            crm_Users   userLogin = null;
            crm_Tenants tenant    = null;

            try
            {
                TempData["ShowCaptcha"] = ShowCaptcha;
                if (ModelState.IsValid)
                {
                    if (ShowCaptcha.Trim().ToLower() == "false")
                    {
                        model.Captcha = Session["Captcha"].ToString();
                    }

                    if (model.Captcha == Session["Captcha"].ToString())
                    {
                        userLogin = _userService.GetUserByUsername(model.UserName);
                        if (userLogin == null)
                        {
                            ModelState.AddModelError("", Caching.GetValue("Global.Login.lblUserNameOrPasswordError"));
                            return(View("Index", model));
                        }
                        //Encrypt password
                        string           passwordEncrypt = EncryptProvider.EncryptPassword(model.Password, userLogin.PasswordSalt);
                        List <crm_Users> user            = new List <crm_Users>();
                        user = _userService.CheckUserLogin(model.UserName, passwordEncrypt);
                        if (user.Count > 0)
                        {
                            FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                            userinfo.TenantAlias = _tenantService.GetTanentAliasByTenantId(user[0].TenantId);
                            userinfo.ID          = user[0].ID;
                            userinfo.UserName    = user[0].Username;
                            userinfo.DisplayName = user[0].DisplayName;
                            userinfo.Email       = user[0].Email;
                            userinfo.TenanID     = user[0].TenantId;
                            userinfo.FullName    = user[0].FullName;
                            userinfo.Image       = user[0].Image;
                            userinfo.Active      = user[0].Active;
                            var list = _roleService.GetUserGroupRoles(userinfo.ID).ToList();
                            userinfo.BitMask = new List <int>();

                            foreach (var item in list)
                            {
                                int tempBitMask = GlobalFunctions.GetBitMaskOfUser(item.MaskPermission.Value);
                                userinfo.BitMask.Add(tempBitMask);
                                CheckPermUser(tempBitMask, ref userinfo);
                            }

                            System.Web.HttpContext.Current.Session["UserInfo"] = userinfo;
                            if (model.RememberMe)
                            {
                                HttpCookie faCookie = new HttpCookie("Remember")
                                {
                                    Value = "1", Expires = DateTime.Now.AddDays(15)
                                };
                                Response.Cookies.Add(faCookie);
                                faCookie = new HttpCookie("Info")
                                {
                                    Value = "{\"US\":\"" + model.UserName + "\", \"PW\":\"" + model.Password + "\"}", Expires = DateTime.Now.AddDays(15)
                                };
                                Response.Cookies.Add(faCookie);
                            }
                            else
                            {
                                HttpCookie faCookie = new HttpCookie("Remember")
                                {
                                    Value = "0", Expires = DateTime.Now.AddDays(15)
                                };
                                Response.Cookies.Add(faCookie);
                            }

                            Session["LogOn"] = model.UserName;

                            //check role
                            bool isTenantAdmin = false;
                            foreach (int bitMask in userinfo.BitMask)
                            {
                                if (bitMask == (int)UserGroupEnum.TenantAdmin)
                                {
                                    isTenantAdmin = true;
                                }
                            }

                            if (isTenantAdmin)
                            {
                                var _alias      = _tenantService.GetTanentAliasByTenantId(userinfo.TenanID);
                                var _tenantInfo = _tenantService.GetTanentByAlias(_alias);

                                _entityHelper.SetConnectionString(ConfigurationManager.AppSettings["ServerName"].ToString(), _tenantInfo.DbName, _tenantInfo.DbUsername, _tenantInfo.DbPassword);
                            }

                            return(RedirectToRoute("Admin_Default", new { controller = "Dashboard", action = "Index" }));
                        }
                        else
                        {
                            ModelState.AddModelError("", Caching.GetValue("Global.Login.lblUserNameOrPasswordError"));
                        }
                    }
                    else
                    {
                        ModelState.AddModelError("", Caching.GetValue("Global.Login.lblSecurityCodeError"));
                    }
                }
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
            }

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