public override Task OnConnected()
        {
            var roleAuthorize = new RoleAuthorize();

            _currentUser = HttpContext.Current.User.Identity.Name;
            var lastMessages = new List <LastMessagesDTO>();

            _isAdmin = roleAuthorize.IsUser("Admin");

            if (_isAdmin)
            {
                Groups.Add(Context.ConnectionId, "Admins");
                Groups.Add(Context.ConnectionId, _currentUser);

                Clients.Group(_currentUser).MessageRequest(GetActiveRequests());
                lastMessages = GetLastMessages(_currentUser, true);
            }
            else
            {
                Groups.Add(Context.ConnectionId, _currentUser);
                lastMessages = GetLastMessages(_currentUser, false);
            }
            if (!_currentUser.Equals(String.Empty))
            {
                Clients.Group(_currentUser).ActiveMessages(lastMessages);
            }

            return(base.OnConnected());
        }
        public void SendMessage(MessageDTO message)
        {
            if (message == null)
            {
                return;
            }
            if (string.IsNullOrWhiteSpace(message.From))
            {
                _currentUser = HttpContext.Current?.User?.Identity?.Name;
                if (string.IsNullOrWhiteSpace(_currentUser))
                {
                    return;
                }
                else
                {
                    message.From = _currentUser;
                    RoleAuthorize r = new RoleAuthorize();
                    if (r.IsUser("Admin"))
                    {
                        message.Admin = false;
                    }
                    else
                    {
                        message.Admin = true;
                    }
                }
            }
            Clients.Group(message.To).ReceiveMessage(message);

            SaveMessage(message);
        }
Ejemplo n.º 3
0
 public PolicyController(IPolicyService ps, IPolicyTypeService pts, ICountryService cs, IFranchiseService fs,
                         IAdditionalChargesService acs, IUserService us, IInsuredsService iss, IPolicyInsuredService pis, IOkSetupService os)
 {
     _ps            = ps;
     _pts           = pts;
     _cs            = cs;
     _fs            = fs;
     _acs           = acs;
     _us            = us;
     _iss           = iss;
     _pis           = pis;
     _roleAuthorize = new RoleAuthorize();
     _os            = os;
 }
        public override Task OnReconnected()
        {
            var roleAuthorize = new RoleAuthorize();

            if (HttpContext.Current != null)
            {
                _currentUser = HttpContext.Current.User.Identity.Name;
                _isAdmin     = roleAuthorize.IsUser("Admin");
            }
            else
            {
                _isAdmin = false;
            }

            return(base.OnReconnected());
        }
        public JsonResult ShowPolicies(string Prefix)
        {
            RoleAuthorize r = new RoleAuthorize();

            if (r.IsUser("End user"))
            {
                var policies             = _us.GetPoliciesByUsernameToList(System.Web.HttpContext.Current.User.Identity.Name, Prefix);
                var policiesAutoComplete = policies.Select(Mapper.Map <travel_policy, PolicyAutoCompleteViewModel>).ToList();
                return(Json(policiesAutoComplete, JsonRequestBehavior.AllowGet));
            }
            else if (r.IsUser("Admin"))
            {
                var policies             = _ps.GetAllPoliciesByPolicyNumber(Prefix);
                var policiesAutoComplete = policies.Select(Mapper.Map <travel_policy, PolicyAutoCompleteViewModel>).ToList();
                return(Json(policiesAutoComplete, JsonRequestBehavior.AllowGet));
            }

            return(null);
        }
Ejemplo n.º 6
0
        public int SubmitForm(Role role, string[] permissionIds, string keyValue)
        {
            if (string.IsNullOrEmpty(keyValue))
            {
                role.Create();
            }
            else
            {
                role.Modify(keyValue);
            }
            var roleAuths = new List <RoleAuthorize>();

            foreach (var per in permissionIds)
            {
                RoleAuthorize roleAuth = new RoleAuthorize();
                roleAuth.Create();
                roleAuth.AuthorizeID = per;
                roleAuth.RoleID      = role.ID;
                roleAuth.ObjectType  = RoleAuthorizeType.Role.GetEnumCode();
                roleAuths.Add(roleAuth);
            }
            var ret = 0;

            using (var db = new RepositoryBase().BeginTrans())
            {
                if (string.IsNullOrEmpty(keyValue))
                {
                    db.Insert(role);
                }
                else
                {
                    db.Update(role);
                }
                db.Delete <RoleAuthorize>(t => t.RoleID == role.ID);
                db.Insert(roleAuths);
                ret = db.Commit();
            }
            return(ret);
        }
Ejemplo n.º 7
0
        public ActionResult Authorize(string roleId, string[] moduleId)
        {
            var result = Context.Ado.UseTran(() =>
            {
                Context.Deleteable <RoleAuthorize>(n => n.RoleId.Equals(roleId)).ExecuteCommand();

                var entitys = new List <RoleAuthorize>();
                foreach (var item in moduleId)
                {
                    var entity = new RoleAuthorize()
                    {
                        RoleId   = roleId,
                        ObjectId = item,
                        Type     = ModuleType.菜单
                    };
                    entity.Create();
                    entitys.Add(entity);
                }

                Context.Insertable(entitys).ExecuteCommand();
            });

            return(result.IsSuccess ? Success("保存成功") : Error("保存失败"));
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 角色添加
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public async Task <R> CreateAsync(Role entity, List <long> permissionIds, CurrentUser currentUser)
        {
            entity.Id          = entity.CreateId();
            entity.CreatorTime = DateTime.Now;
            var moduledata = await ModuleApp.GetSaasModuleListAsync();

            var buttondata = await ModuleButtonApp.GetSaasModuleListAsync();

            List <long> allpermissionIds = new List <long>();

            foreach (long id in permissionIds)
            {
                allpermissionIds.Add(id);
                if (moduledata.Count(o => o.Id == id) > 0)
                {
                    var md = moduledata.Where(o => o.Id == id).FirstOrDefault();
                    if (md.ParentId != 0)
                    {
                        allpermissionIds.AddRange(await Fibonacci(md.ParentId));
                    }
                }
                else if (buttondata.Count(o => o.Id == id) > 0)
                {
                    var md = buttondata.Where(o => o.Id == id).FirstOrDefault();
                    if (md.ModuleId != 0)
                    {
                        allpermissionIds.AddRange(await Fibonacci(md.ModuleId));
                    }
                }
            }
            allpermissionIds = allpermissionIds.Distinct().ToList();
            List <RoleAuthorize> ras = new List <RoleAuthorize>();

            foreach (long id in allpermissionIds)// permissionIds
            {
                int itemType = 0;
                if (moduledata.Count(o => o.Id == id) > 0)
                {
                    itemType = 1;
                }
                else if (buttondata.Count(o => o.Id == id) > 0)
                {
                    itemType = 2;
                }
                if (itemType > 0)
                {
                    RoleAuthorize ra = new RoleAuthorize
                    {
                        ObjectId    = entity.Id,
                        ObjectType  = 1,
                        ItemId      = id,
                        ItemType    = itemType,
                        CreatorTime = DateTime.Now
                    };
                    ra.Id = ra.CreateId();
                    ras.Add(ra);
                }
            }

            UnitWork.Add <Role>(entity);
            UnitWork.BatchAdd <RoleAuthorize>(ras.ToArray());
            UnitWork.Save();


            if (currentUser != null)
            {
                await OperateLogApp.InsertLogAsync <Role>(currentUser, "添加角色", entity);
            }
            return(R.Suc(entity));
        }
Ejemplo n.º 9
0
        public async Task <R <Role> > UpdateAsync(Role entity, List <long> permissionIds, CurrentUser currentUser)
        {
            var moduledata = await ModuleApp.GetSaasModuleListAsync();

            var buttondata = await ModuleButtonApp.GetSaasModuleListAsync();

            var authorizs = await RoleAuthorizeApp.GetListAsync(entity.Id, 1);

            List <long> allpermissionIds = new List <long>();

            foreach (long id in permissionIds)
            {
                allpermissionIds.Add(id);
                if (moduledata.Count(o => o.Id == id) > 0)
                {
                    var md = moduledata.Where(o => o.Id == id).FirstOrDefault();
                    if (md.ParentId != 0)
                    {
                        allpermissionIds.AddRange(await Fibonacci(md.ParentId));
                    }
                }
                else if (buttondata.Count(o => o.Id == id) > 0)
                {
                    var md = buttondata.Where(o => o.Id == id).FirstOrDefault();
                    if (md.ModuleId != 0)
                    {
                        allpermissionIds.AddRange(await Fibonacci(md.ModuleId));
                    }
                }
            }
            allpermissionIds = allpermissionIds.Distinct().ToList();
            //现有
            List <long>          itemIds   = authorizs.Select(o => o.ItemId).ToList();
            List <long>          deleteIds = authorizs.Where(o => !allpermissionIds.Contains(o.ItemId) && o.ObjectId == entity.Id && o.ObjectType == 1).Select(o => o.Id).ToList();
            List <RoleAuthorize> ras       = new List <RoleAuthorize>();

            foreach (long id in allpermissionIds)
            {
                if (itemIds.Contains(id))
                {
                    continue;
                }
                int itemType = 0;
                if (moduledata.Count(o => o.Id == id) > 0)
                {
                    itemType = 1;
                }
                else if (buttondata.Count(o => o.Id == id) > 0)
                {
                    itemType = 2;
                }
                if (itemType > 0)
                {
                    RoleAuthorize ra = new RoleAuthorize
                    {
                        ObjectId    = entity.Id,
                        ObjectType  = 1,
                        ItemId      = id,
                        ItemType    = itemType,
                        CreatorTime = DateTime.Now
                    };
                    ra.Id = ra.CreateId();
                    ras.Add(ra);
                }
            }


            UnitWork.Update <Role>(entity);
            UnitWork.BatchAdd <RoleAuthorize>(ras.ToArray());
            UnitWork.Delete <RoleAuthorize>(o => deleteIds.Contains(o.Id));
            UnitWork.Save();

            if (currentUser != null)
            {
                await OperateLogApp.InsertLogAsync <Role>(currentUser, "修改角色", entity);
            }
            await RemoveCacheAsync(entity.Id);

            return(R <Role> .Suc(entity));
        }
Ejemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public async Task <R> CreateAsync(RoleAuthorize entity)
        {
            await RoleAuthorizeRep.AddAsync(entity);

            return(R.Suc());
        }
Ejemplo n.º 11
0
        private void UpdroleAuthorizeEntitys(string[] permissionIds2, string[] permissionIds3, string[] permissionIds4, string keyValue)
        {
            var moduledata           = Read <Module>().ToList();
            var buttondata           = Read <Button>().ToList();
            var roleAuthorizeEntitys = new List <RoleAuthorize>();

            foreach (var itemId in permissionIds2)
            {
                var roleAuthorizeEntity = new RoleAuthorize();
                roleAuthorizeEntity.Id         = Guid.NewGuid().ToString("N").ToUpper();
                roleAuthorizeEntity.ObjectType = 1;
                roleAuthorizeEntity.ObjectId   = keyValue;
                roleAuthorizeEntity.ItemId     = itemId;
                if (moduledata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 1;
                }
                if (buttondata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 2;
                }
                roleAuthorizeEntitys.Add(roleAuthorizeEntity);
            }
            foreach (var itemId in permissionIds3)
            {
                var roleAuthorizeEntity = new RoleAuthorize();
                roleAuthorizeEntity.Id         = Guid.NewGuid().ToString("N").ToUpper();
                roleAuthorizeEntity.ObjectType = 1;
                roleAuthorizeEntity.ObjectId   = keyValue;
                roleAuthorizeEntity.ItemId     = itemId;
                if (moduledata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 1;
                }
                if (buttondata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 2;
                }
                roleAuthorizeEntitys.Add(roleAuthorizeEntity);
            }
            foreach (var itemId in permissionIds4)
            {
                var roleAuthorizeEntity = new RoleAuthorize();
                roleAuthorizeEntity.Id         = Guid.NewGuid().ToString("N").ToUpper();
                roleAuthorizeEntity.ObjectType = 1;
                roleAuthorizeEntity.ObjectId   = keyValue;
                roleAuthorizeEntity.ItemId     = itemId;
                if (moduledata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 1;
                }
                if (buttondata.Find(t => t.Id == itemId) != null)
                {
                    roleAuthorizeEntity.ItemType = 2;
                }
                roleAuthorizeEntitys.Add(roleAuthorizeEntity);
            }

            Del <RoleAuthorize>(t => t.ObjectId == keyValue);
            AddRange(roleAuthorizeEntitys);
        }
 public SignUpController(IRolesService rs, IUserService us)
 {
     _rs            = rs;
     _us            = us;
     _roleAuthorize = new RoleAuthorize();
 }
        public static int SavePolicy(Policy p,
                                     IPolicyService _ps,
                                     IUserService _us,
                                     IInsuredsService _iss,
                                     IPolicyInsuredService _pis,
                                     IAdditionalChargesService _acs)
        {
            var policy   = _ps.Create();
            var username = "";

            if (p.isMobile)
            {
                username          = p.username;
                policy.Created_By = _us.GetUserIdByUsername(p.username);
            }
            else
            {
                username          = System.Web.HttpContext.Current.User.Identity.Name;
                policy.Created_By = _us.GetUserIdByUsername(username);
            }

            policy.Date_Created            = DateTime.UtcNow;
            policy.Policy_Number           = _ps.CreatePolicyNumber();
            policy.CountryID               = p.CountryID;
            policy.Exchange_RateID         = (p.Exchange_RateID.HasValue) ? p.Exchange_RateID.Value : 1;
            policy.Policy_TypeID           = p.Policy_TypeID;
            policy.Retaining_RiskID        = p.Retaining_RiskID;
            policy.Start_Date              = p.Start_Date;
            policy.End_Date                = p.End_Date;
            policy.Valid_Days              = p.Valid_Days;
            policy.Travel_NumberID         = p.Travel_NumberID;
            policy.Total_Premium           = p.Total_Premium;
            policy.Payment_Status          = false;
            policy.Travel_Insurance_TypeID = p.Travel_Insurance_TypeID;

            RoleAuthorize r = new RoleAuthorize();

            if (p.IsSamePolicyHolderInsured && (p.isMobile || r.IsUser("End user")))
            {
                _us.UpdateSsnById(policy.Created_By, p.SSN);

                var PolicyHolderId = SaveInsuredHelper.SaveInsured(_iss, p.Name, p.LastName, p.SSN, p.Email, p.BirthDate, p.PhoneNumber, p.PassportNumber_ID, p.Address, p.City, p.PostalCode, policy.Created_By);
                policy.Policy_HolderID = PolicyHolderId;
            }
            else if (p.IsSamePolicyHolderInsured && (r.IsUser("Admin") || r.IsUser("Broker") || r.IsUser("Broker manager")))
            {
                if (p.IsExistentPolicyHolder)
                {
                    policy.Policy_HolderID = _iss.GetInsuredBySsn(p.SSN).ID;
                }
                else
                {
                    var PolicyHolderId = SaveInsuredHelper.SaveInsured(_iss, p.PolicyHolderName, p.PolicyHolderLastName, p.PolicyHolderSSN, p.PolicyHolderEmail, p.PolicyHolderBirthDate.Value, p.PolicyHolderPhoneNumber, p.PolicyHolderPassportNumber_ID, p.PolicyHolderAddress, p.PolicyHolderCity, p.PolicyHolderPostalCode, policy.Created_By);
                    policy.Policy_HolderID = PolicyHolderId;
                }
            }

            if (!p.IsSamePolicyHolderInsured)
            {
                var ssn = "";
                if (r.IsUser("Admin") || r.IsUser("Broker") || r.IsUser("Broker manager"))
                {
                    ssn = p.PolicyHolderSSN;
                    var policyHolderId = _iss.GetInsuredIdBySsnAndCreatedBy(ssn, policy.Created_By);
                    if (policyHolderId != -1)
                    {
                        insured updateInsuredData = new insured();

                        policy.Policy_HolderID     = policyHolderId;
                        updateInsuredData.ID       = policyHolderId;
                        updateInsuredData.Name     = p.PolicyHolderName;
                        updateInsuredData.Lastname = p.PolicyHolderLastName;
                        updateInsuredData.SSN      = p.PolicyHolderSSN;

                        updateInsuredData.Email        = p.PolicyHolderEmail;
                        updateInsuredData.DateBirth    = p.PolicyHolderBirthDate ?? DateTime.UtcNow;
                        updateInsuredData.Phone_Number = p.PolicyHolderPhoneNumber;

                        updateInsuredData.Passport_Number_IdNumber = p.PolicyHolderPassportNumber_ID;

                        updateInsuredData.City        = p.PolicyHolderCity;
                        updateInsuredData.Postal_Code = p.PolicyHolderPostalCode;
                        updateInsuredData.Address     = p.PolicyHolderAddress;

                        updateInsuredData.Date_Modified = DateTime.Now;
                        updateInsuredData.Modified_By   = policy.Created_By;

                        _iss.UpdateInsuredData(updateInsuredData);
                    }
                    else
                    {
                        var newInsured = _iss.Create();

                        newInsured.Name     = p.PolicyHolderName;
                        newInsured.Lastname = p.PolicyHolderLastName;
                        newInsured.SSN      = p.PolicyHolderSSN;

                        newInsured.Email        = p.PolicyHolderEmail;
                        newInsured.DateBirth    = p.PolicyHolderBirthDate ?? DateTime.UtcNow;
                        newInsured.Phone_Number = p.PolicyHolderPhoneNumber;

                        newInsured.Passport_Number_IdNumber = p.PolicyHolderPassportNumber_ID;

                        newInsured.City        = p.PolicyHolderCity;
                        newInsured.Postal_Code = p.PolicyHolderPostalCode;
                        newInsured.Address     = p.PolicyHolderAddress;

                        newInsured.Date_Created = DateTime.Now;
                        newInsured.Created_By   = policy.Created_By;
                        try
                        {
                            var Id = _iss.AddInsured(newInsured);
                            policy.Policy_HolderID = Id;
                        }
                        finally { }
                    }
                }
                else if (r.IsUser("End user"))
                {
                    ssn = _us.GetUserSsnByUsername(username);
                    var policyHolderId = _iss.GetInsuredIdBySsnAndCreatedBy(ssn, policy.Created_By);
                    if (policyHolderId != -1)
                    {
                        policy.Policy_HolderID = policyHolderId;
                    }
                    else
                    {
                        var currentEndUser = _us.GetUserDataByUsername(username);
                        var newInsured     = _iss.Create();

                        newInsured.Name     = currentEndUser.FirstName;
                        newInsured.Lastname = currentEndUser.LastName;
                        newInsured.SSN      = currentEndUser.EMBG;

                        newInsured.Email        = currentEndUser.Email;
                        newInsured.DateBirth    = currentEndUser.DateOfBirth.HasValue == true ? currentEndUser.DateOfBirth.Value: DateTime.Now;
                        newInsured.Phone_Number = currentEndUser.PhoneNumber;

                        newInsured.Passport_Number_IdNumber = currentEndUser.PassportNumber;

                        newInsured.City        = currentEndUser.City;
                        newInsured.Postal_Code = currentEndUser.PostalCode;
                        newInsured.Address     = currentEndUser.Address;

                        newInsured.Date_Created = DateTime.Now;
                        newInsured.Created_By   = policy.Created_By;
                        try
                        {
                            var Id = _iss.AddInsured(newInsured);
                            policy.Policy_HolderID = Id;
                        }
                        finally { }
                    }
                }
            }

            var policyID  = _ps.AddPolicy(policy);
            var insuredId = _iss.GetInsuredIdBySsnAndCreatedBy(p.SSN, policy.Created_By);

            if (insuredId != -1)
            {
                // da se update
                var policyInsured = _pis.Create();
                policyInsured.InsuredID = insuredId;
                policyInsured.PolicyID  = policyID;
                _pis.Add(policyInsured);
            }
            else
            {
                var newInsured = _iss.Create();
                newInsured.Date_Created = DateTime.Now;
                newInsured.Created_By   = policy.Created_By;
                newInsured.Name         = p.Name;
                newInsured.Lastname     = p.LastName;
                newInsured.SSN          = p.SSN;

                newInsured.Email        = p.Email;
                newInsured.DateBirth    = p.BirthDate;
                newInsured.Phone_Number = p.PhoneNumber;

                newInsured.Passport_Number_IdNumber = p.PassportNumber_ID;

                newInsured.City        = p.City;
                newInsured.Postal_Code = p.PostalCode;
                newInsured.Address     = p.Address;
                try
                {
                    var            insuredIdNew  = _iss.AddInsured(newInsured);
                    policy_insured policyInsured = new policy_insured();
                    policyInsured.InsuredID = insuredIdNew;
                    policyInsured.PolicyID  = policyID;
                    _pis.Add(policyInsured);
                }
                finally { }
            }

            if (p.isMobile)
            {
                if (p.AdditionalChargeId1 != 1)
                {
                    var addChargeNew = _acs.Create();
                    addChargeNew.PolicyID            = policyID;
                    addChargeNew.Additional_ChargeID = p.AdditionalChargeId1;
                    _acs.AddAdditionalChargesPolicy(addChargeNew);
                }

                if (p.AdditionalChargeId2 != 1)
                {
                    var addChargeNew = _acs.Create();
                    addChargeNew.PolicyID            = policyID;
                    addChargeNew.Additional_ChargeID = p.AdditionalChargeId2;
                    _acs.AddAdditionalChargesPolicy(addChargeNew);
                }
            }
            else
            {
                if (p.additional_charges != null)
                {
                    foreach (additional_charge additionalCharge in p.additional_charges)
                    {
                        if (additionalCharge.ID != 1)
                        {
                            var addChargeNew = _acs.Create();
                            addChargeNew.PolicyID            = policyID;
                            addChargeNew.Additional_ChargeID = additionalCharge.ID;
                            _acs.AddAdditionalChargesPolicy(addChargeNew);
                        }
                    }
                }
            }
            return(policyID);
        }