public PagedDataList<DeviceManageViewModel> GetSelfDeviceManageViewModel(string tenantCode, int rowIndex, int pageSize)
        {
            //获取租户信息
            EMTenantService tenantService = new EMTenantService();
            var tenant = tenantService.Select(tenantCode);

            return GetDeviceManageViewModel(tenantCode, tenant, rowIndex, pageSize);
        }
        public List<DeviceManageViewModel> GetDeviceManageViewModel(string tenantCode)
        {
            //获取租户信息
            IEMTenantService tenantService = new EMTenantService();
            IList<EMTenant> tenantList = tenantService.SelectCustomerOfMerchant(tenantCode);

            return GetDeviceManageViewModel(tenantList);
        }
        public CommandResultViewModel UpdateOperateMyData(UpdateTenantViewModel model)
        {
            CommandResultViewModel vm = new CommandResultViewModel();
            try
            {
                EMTenantService tenantService = new EMTenantService();

                var isExists = tenantService.IsExists(model.TenantName, model.TenantCode);
                if (isExists)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("客户名称" + model.TenantName + "已经存在,请重新输入!");
                    return vm;
                }
                else
                {
                    EMTenant tenant = tenantService.Select(model.TenantCode);
                    tenant.Email = model.Email;
                    tenant.TenantName = model.TenantName;
                    tenant.PhoneNumber = model.PhoneNumber;
                    tenant.ContactName = model.ContactName;
                    tenant.QQ = model.QQ;
                    tenant.LogoUrl = UploadImageHelper.GetImgName(model.TenantLogoImgURl);
                    tenant.ExpireTime = model.ExpireTime;
                    tenantService.Update(tenant);
                    vm.CommandResult = EnumCommandResult.Success;
                    vm.Msg = "修改成功!";
                }
            }
            catch (Exception ex)
            {
                Logger.Error("OperateManagerWCFService.UpdateOperateMyData(UpdateTenantViewModel model)失败,错误:" + ex.Message, ex);
                vm.CommandResult = EnumCommandResult.Failed;
                vm.Msg = ex.Message;
            }
            return vm;
        }
 public TenantViewModel GetTenantInfo(string tenantCode)
 {
     TenantViewModel model = new TenantViewModel();
     try
     {
         IEMTenantService tenantServ = new EMTenantService();
         EMTenant entity = tenantServ.Select(tenantCode);
         if (entity != null)
             return  model = ConvertHelper.ConvertObj<EMTenant, TenantViewModel>(entity);
         else
             return null;
     }
     catch (Exception ex)
     {
         Logger.Error(ex.Message, ex);
         return null;
     }
 }
 public UserInfoModifyViewModel GetUserAndTenant(string userCode)
 {
     try
     {
         UserInfoModifyViewModel model = null;
         IUserService userService = new UserService();
         EMUser entity = userService.GetUser(userCode);
         IEMTenantService tenantService = new EMTenantService();
         if (entity != null)
         {
             EMTenant tenant = tenantService.Select(entity.TenantCode);
             model = new UserInfoModifyViewModel()
             {
                 UserCode = entity.UserCode,
                 UserName = entity.UserName,
                 TenantCode = entity.TenantCode,
                 Email = tenant.Email,
                 QQ = tenant.QQ,
                 Password = entity.PassWord,
                 IsRegisterUser = entity.IsRegisterUser
             };
             return model;
         }
         return model;
     }
     catch (Exception ex)
     {
         Logger.Error(ex.Message, ex);
         return null;
     }
 }
Beispiel #6
0
        public CommandResultViewModel UserReg(string userName, string pwd, string email, string QQ, string companyName)
        {
            CommandResultViewModel vm = new CommandResultViewModel();
            try
            {
                IUserService serv = new UserService();
                bool isExists = serv.ExistsUser(userName);
                if (isExists)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("用户名" + userName + "已经存在,请重新输入!");
                    return vm;
                }

                IEMTenantService tenantServ = new EMTenantService();
                var tempTenant = tenantServ.SelectByName(companyName);
                if (tempTenant != null)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("姓名/公司名" + companyName + "已经存在,请重新输入!");
                    return vm;
                }
                
                IdentityNoService identityNoServ = new IdentityNoService();
                string tenantCode = identityNoServ.GetTenantSerialNo();
                EMTenant tenant = GetTenant(tenantCode,email,QQ,companyName,userName);
                EMUserGroup userGroup = GetEMUserGroup(identityNoServ, tenantCode);
                EMVehicleGroup vehicleGroup = GetEMVehicleGroup(identityNoServ,userName, tenantCode);
                EMUser user = GetEMUser(identityNoServ,userName, pwd, email,QQ, tenant, userGroup);
                IBaseService baseServ = new BaseService();
                tenant.RegisterUserCode = user.UserCode;
                baseServ.Add<EMTenant>(tenant);
                baseServ.Add<EMUserGroup>(userGroup);
                baseServ.Add<EMVehicleGroup>(vehicleGroup);
                baseServ.Add<EMUser>(user);

                vm.CommandResult = EnumCommandResult.Success;
                return vm;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                vm.CommandResult = EnumCommandResult.Failed;
                vm.Msg = ex.Message;
                return vm;
            }
        }
Beispiel #7
0
        /// <summary>
        /// 获取租户下终端客户
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public AndroidData<RPage<List<MBTenantViewModel>>> GetPageMobileGuestList(PPage<PMobileGusetData> param)
        {
            AndroidData<RPage<List<MBTenantViewModel>>> result = new AndroidData<RPage<List<MBTenantViewModel>>>() { Message = "没有数据!", ResultCode = (int)ResultCodeEnum.Fail };
            try
            {
                EMTenantService service = new EMTenantService();
                int rowCount = 0;
                int allCount = 0;
                int freezCount = 0;
                IList<EMTenant> ltTenantAll = service.Select("", param.PageSearchEntity.OperateCode, param.RowIndex, param.PageSize, ref rowCount, ref freezCount, ref allCount);

                if(ltTenantAll.IsNullOrEmpty())
                    return result;

                RPage<List<MBTenantViewModel>> rPageListInfo = new RPage<List<MBTenantViewModel>>() {
                    PageList = ConverToMBTenantList(ltTenantAll),
                    RowCount = allCount
                };
                result.Message = string.Empty;
                result.ResultCode = (int)ResultCodeEnum.Success;
                result.ResultData = rPageListInfo;
            }
            catch (Exception ex)
            {
                result.Message = ex.Message;
                result.ResultCode = (int)ResultCodeEnum.Fail;
                Logger.Error("[GetPageMobileGuestList]:"+ex.Message,ex);
            }
            return result;
        }
        public CommandResultViewModel UpdateUserCenterMyData(UpdateTenantViewModel model)
        {
            CommandResultViewModel vm = new CommandResultViewModel();
            try
            {
                EMTenantService tenantService = new EMTenantService();

                var isExists = tenantService.IsExists(model.TenantName, model.TenantCode);
                if (isExists)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("客户名称" + model.TenantName + "已经存在,请重新输入!");
                    return vm;
                }
                else
                {
                    EMTenant tenant = tenantService.Select(model.TenantCode);
                    tenant.Email = model.Email;
                    tenant.TenantName = model.TenantName;
                    tenant.PhoneNumber = model.PhoneNumber;
                    tenant.QQ = model.QQ;
                    tenantService.Update(tenant);
                    vm.CommandResult = EnumCommandResult.Success;
                    vm.Msg = "修改成功!";
                    return vm;
                }
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                vm.CommandResult = EnumCommandResult.Failed;
                vm.Msg = ex.Message;
                return vm;
            }
        }
        public List<ChangeCusCarWithOMViewModel> GetChangeCusCarOfPlat(string tenantCode, string iconSkin)
        {
            List<ChangeCusCarWithOMViewModel> list = new List<ChangeCusCarWithOMViewModel>();
            try
            {
                IList<EMTenant> ltTenantAll = new EMTenantService().GetGrandChildren(tenantCode);
                if (ltTenantAll.IsNullOrEmpty())
                    return list;

                var ltAllCus = ltTenantAll.Where(s => s.TenantType == EnumTenantType.EndCustomer && !string.IsNullOrEmpty(s.TenantName));
                if (ltAllCus.Count() == 0) return list;

                List<string> ltCusTenantCode = ltAllCus.Select(o => o.TenantCode).ToList();
                EMVehicleService vehicleServ = new EMVehicleService();
                //客户和客户的车辆总数
                Dictionary<string, int> dicVehicleCount = vehicleServ.SelectVehicleCount(ltCusTenantCode);
               
                EMTenant lastCreateTenant = ltAllCus.OrderByDescending(s => s.CreateTime).ElementAt(0);

                IList<ChangeCusCarWithOMViewModel> ltChildren = GetCarChildren(tenantCode, lastCreateTenant.TenantCode, ltTenantAll, dicVehicleCount);
                if (!ltChildren.IsNullOrEmpty())
                    list.AddRange(ltChildren);

                List<ChangeCusCarWithOMViewModel> vechileList = null;
                for (int j = 0; j < list.Count; j++)
                {
                    if (list[j].Children.Count == 0)
                    {
                        string stenantCode = list[j].TenantCode;

                        List<EMVehicle> veList = new VehicleDAL().GetVehicleListByTenantCode(stenantCode);
                        if (veList != null&&veList.Count>0)
                        {
                            vechileList = new List<ChangeCusCarWithOMViewModel>();
                            for (int a = 0; a < veList.Count; a++)
                            {
                                ChangeCusCarWithOMViewModel ve = new ChangeCusCarWithOMViewModel();
                                ve.TenantCode = veList[a].VehicleCode.ToString();
                                ve.TenantName = veList[a].LicenceNumber;
                                ve.iconSkin = "CarDeviceNo";
                                 
                                vechileList.Add(ve);
                            }
                            list[j].iconSkin = iconSkin;// 值为CarDeviceNo表示是车辆的上一级可以选中,为空表示车辆的上一级不可以选中
                            list[j].Children.AddRange(vechileList);
                        }
                    }
                    else
                    {
                        for (int k = 0; k < list[j].Children.Count; k++)
                        {
                            string stenantCode = list[j].Children[k].TenantCode;
                            vechileList = new List<ChangeCusCarWithOMViewModel>();
                            List<EMVehicle> veList = new VehicleDAL().GetVehicleListByTenantCode(stenantCode);
                            if (veList != null&&veList.Count>0)
                            {
                                for (int a = 0; a < veList.Count; a++)
                                {
                                    ChangeCusCarWithOMViewModel ve = new ChangeCusCarWithOMViewModel();
                                    ve.TenantCode = veList[a].VehicleCode.ToString();
                                    ve.TenantName = veList[a].LicenceNumber;
                                   
                                    ve.iconSkin = "CarDeviceNo";
                                    vechileList.Add(ve);

                                }
                                list[j].Children[k].iconSkin = iconSkin;
                                list[j].Children[k].Children.AddRange(vechileList);
                            }
                        }
                    }
                }

                return list;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return list;
            }
             
        }
Beispiel #10
0
        public PagedDataList<CustomerInfoVM> SearchCustomer_Paging(string superTenantCode, string likeValue,
            int rowIndex, int pageSize)
        {
            try
            {
                int rowCount;
                 
                IEMTenantService tenantServ = new EMTenantService();
                IList<EMTenant> ltTenant = tenantServ.Search(superTenantCode, likeValue, rowIndex, pageSize, out rowCount);
                if (ltTenant.IsNullOrEmpty())
                    return null;

                return new PagedDataList<CustomerInfoVM>()
                {
                    Datas = ConvertToVM(ltTenant),
                    RowCount = rowCount
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return null;
            }
        }
 /// <summary>
 /// 返回tenantID下所为子(子孙)运营商,不包含自身
 /// </summary>
 /// <param name="tenantID"></param>
 /// <returns></returns>
 public IList<EMTenant> GetGrandChildren(string tenantID)
 {
     EMTenantService service = new EMTenantService();
     return service.GetGrandChildren(tenantID);
 }
 public bool UploadImage(UploadImageViewModel uploadImageModel)
 {
     try
     {
         bool bl = UploadImageHelper.GetUpoladImg(uploadImageModel.mapPath, uploadImageModel.imgName, uploadImageModel.buffer);
         if (bl)
         {
             IEMTenantService service = new EMTenantService();
             if (!string.IsNullOrEmpty(uploadImageModel.tenantCode))
             {
                 EMTenant emTenant = service.Select(uploadImageModel.tenantCode);
                 string oldLogoUrlName = emTenant.LogoUrl;
                 emTenant.LogoUrl = uploadImageModel.imgName;
                 service.Update(emTenant);
                 //判断是否默认图片
                 if (!string.IsNullOrEmpty(oldLogoUrlName))
                 {
                     string oldMapPath = uploadImageModel.mapPath + "\\" + oldLogoUrlName;
                     UploadImageHelper.DeleteImage(oldMapPath);
                 }
             }
             return true;
         }
         else
             return false;
     }
     catch (Exception ex)
     {
         Logger.Info("UploadImage(上传图片):"+ex.Message);
         return false;
     }
 }
        public UserInfoViewModel Login(string userName, string pwd, string LastSelectTenantCode)
        {
            UserInfoViewModel viewModel = new UserInfoViewModel();
            try
            {
                EMUser user = _LoginUserDAL.GetLoginUser(userName, pwd);
               
                if (user != null)
                {
                    viewModel = ConvertToViewModel(user);

                    //租户类型
                    EMTenantService tenantService = new EMTenantService();
                    EMTenant tenant = user.Tenant;
                    if (tenant == null)
                    {
                        viewModel.Msg = "error|帐户异常,登录帐户对应的租户类型记录不存在,请与平台方联系";
                        return viewModel;
                    }
                    viewModel.TenantType = (int)tenant.TenantType;
                   // viewModel.OperatorLevel = tenant.OperatorLevel;
                    viewModel.OperatorLevel = string.IsNullOrEmpty(user.UserGroupID.ToString()) ? 0 : tenant.OperatorLevel;//0表示管理员
                    if (!string.IsNullOrEmpty(tenant.LogoUrl))
                    {
                        viewModel.TenantLogoImgURl = tenant.LogoUrl;
                    }

                    if (tenant.TenantType != EnumTenantType.PlatProvider)
                    {
                        EMTenant superTenant = tenantService.Select(tenant.SuperTenantID);
                        if (tenant.TenantType == EnumTenantType.EndCustomer)
                        {
                            viewModel.TenantLogoImgURl = superTenant.LogoUrl;
                        }

                        viewModel.SuperContactNumber = superTenant.PhoneNumber;
                        viewModel.SuperContactName = superTenant.ContactName;
                        viewModel.SuperTenantName = superTenant.TenantName;
                        //是否过期
                        if (tenant.TenantType == EnumTenantType.OperatingMerchant && tenant.ExpireTime.HasValue && DateTime.Now > tenant.ExpireTime.Value)
                        {
                            viewModel.Msg = "error|您的账号已过有效期,请与MOVO客服联系\n\r联系电话:" + superTenant.PhoneNumber;
                            return viewModel;
                        }
                        //是否冻结
                        else if (tenant.IsFreeze)
                        {
                            switch (tenant.TenantType)
                            {
                                case EnumTenantType.EndCustomer:
                                    viewModel.Msg = "error|您的账号已被冻结,请与您的设备服务提供商联系!\n\r联系电话:" + superTenant.PhoneNumber;
                                    break;
                                case EnumTenantType.OperatingMerchant:
                                    viewModel.Msg = "error|您的账号已被冻结,请与MOVO客服联系。\n\r联系电话:" + superTenant.PhoneNumber;
                                    break;
                            }
                            return viewModel;
                        }
                    }

                    switch (viewModel.TenantType)
                    {
                        case 1://平台商
                            EMTenant lastCustomer = null;
                            if (!string.IsNullOrEmpty(LastSelectTenantCode))
                            {
                                lastCustomer = tenantService.Select(LastSelectTenantCode);
                            }
                            if (lastCustomer == null)
                            {
                                lastCustomer = tenantService.SelectLastChildEndCustomer("");
                            }
                            if (lastCustomer != null)
                            {
                                EMUser lastUser = _LoginUserDAL.GetUserByUserCode(lastCustomer.RegisterUserCode);
                                if (lastUser != null)
                                {
                                    viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                                    viewModel.SelectedUser.UserCode = lastUser.UserCode;
                                    viewModel.SelectedUser.UserName = lastUser.UserName;
                                    viewModel.SelectedUser.TenantCode = lastCustomer.TenantCode;
                                    viewModel.SelectedUser.TenantName = lastCustomer.TenantName;
                                    if (!string.IsNullOrEmpty(lastCustomer.SuperTenantID))
                                    {
                                        EMTenant super = this.GetTenant(lastCustomer.SuperTenantID);
                                        if (super != null)
                                        {
                                            viewModel.SelectedUser.SuperTenantCode = super.TenantCode;
                                            viewModel.SelectedUser.SuperTenantName = super.TenantName;
                                        }
                                    }
                                }
                            }
                            break;
                        case 2://运营商

                            EMTenant lastCustomerForOperating = null;
                            if (!string.IsNullOrEmpty(LastSelectTenantCode))
                            {
                                lastCustomerForOperating = tenantService.Select(LastSelectTenantCode);
                            }
                            if (lastCustomerForOperating == null)
                            {
                                lastCustomerForOperating = tenantService.SelectLastChildEndCustomer(viewModel.TenantCode);
                            }


                             
                            if (lastCustomerForOperating != null)
                            {
                                EMUser lastUser = _LoginUserDAL.GetUserByUserCode(lastCustomerForOperating.RegisterUserCode);
                                if (lastUser != null)
                                {
                                    viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                                    viewModel.SelectedUser.UserCode = lastUser.UserCode;
                                    viewModel.SelectedUser.UserName = lastUser.UserName;
                                    viewModel.SelectedUser.TenantCode = lastCustomerForOperating.TenantCode;
                                    viewModel.SelectedUser.TenantName = lastCustomerForOperating.TenantName;
                                    viewModel.SelectedUser.SuperTenantCode = viewModel.TenantCode;
                                    viewModel.SelectedUser.SuperTenantName = viewModel.TenantName;
                                }
                            }

                            break;
                        case 3://终端客户
                            viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                            viewModel.SelectedUser.UserCode = viewModel.UserCode;
                            viewModel.SelectedUser.UserName = viewModel.UserName;
                            viewModel.SelectedUser.TenantCode = viewModel.TenantCode;
                            viewModel.SelectedUser.TenantName = viewModel.TenantName;
                            viewModel.SelectedUser.SuperTenantCode = user.Tenant.SuperTenantID;
                            viewModel.SelectedUser.SuperTenantContactName = user.Tenant.ContactName;
                            viewModel.SelectedUser.SuperTenantName = viewModel.SuperTenantName;
                            break;

                    }
                    if (string.IsNullOrEmpty(viewModel.TenantLogoImgURl))
                    {
                        viewModel.TenantLogoImgURl = UploadImageHelper.TenantImgUrl;
                    }

                    //获取地图类型
                    /*PositioningWCFService mapTypeService = new PositioningWCFService();
                    List<MapTypeViewModel> listMapType = mapTypeService.GetMapType();
                    viewModel.MapTypes = listMapType;*/

                    //令牌环
                    Ticket ticket = new Ticket() { UserCode = user.UserCode, UserName = user.UserName, Password = user.PassWord };
                    string token = EncryptUtil.Encrypt<Ticket>(ticket);
                    viewModel.Token = token;

#if !DEBUG
                        user.LastLoginTime = DateTime.Now;
                        new UserService().UpdLastLoginTime(user);
#endif

                }
                else
                {
                    viewModel.Msg = "error|用户名或密码错误";
                    //viewModel.IndentifyCode = IndentifyCodeHelper.CreateIndentifyCode(sessionId, 4);
                }
            }
            catch (Exception ex)
            {
                viewModel.Msg = "error|发生未处理错误,请联系系统管理员";
                //viewModel.IndentifyCode = IndentifyCodeHelper.CreateIndentifyCode(sessionId, 4);
                Logger.Error("[Login]" + ex.Message, ex);
            }
            return viewModel;
        }
        /// <summary>
        /// 立即体验 登录
        /// </summary>
        /// <param name="ExperienceUserCode"></param>
        /// <returns></returns>
        public UserInfoViewModel ExperienceLogin(string ExperienceUserCode)
        {
            UserInfoViewModel viewModel = new UserInfoViewModel();
            try
            {
                UserService service = new UserService();
                //EMUser user = service.GetUserFullInfo(ExperienceUserCode);
                EMUser user = _LoginUserDAL.GetUserByUserCode(ExperienceUserCode);
                if (user != null)
                {
                    viewModel = ConvertToViewModel(user);

                    //租户类型
                    IEMTenantService tenantService = new EMTenantService();
                    EMTenant tenant = user.Tenant;
                    if (tenant == null)
                    {
                        viewModel.Msg = "error|体验帐户异常,体验帐户对应的租户类型记录不存在,请与平台方联系";
                        return viewModel;
                    }
                    viewModel.TenantType = (int)tenant.TenantType;
                    viewModel.OperatorLevel = tenant.OperatorLevel;
                    if (!string.IsNullOrEmpty(tenant.LogoUrl))
                    {
                        viewModel.TenantLogoImgURl = tenant.LogoUrl;
                    }

                    if (tenant.TenantType != EnumTenantType.PlatProvider)
                    {
                        EMTenant superTenant = tenantService.Select(tenant.SuperTenantID);
                        if (tenant.TenantType == EnumTenantType.EndCustomer)
                        {
                            viewModel.TenantLogoImgURl = superTenant.LogoUrl;
                        }

                        viewModel.SuperContactNumber = superTenant.PhoneNumber;
                        viewModel.SuperTenantName = superTenant.TenantName;
                        ////是否过期
                        //if (tenant.TenantType == EnumTenantType.OperatingMerchant && tenant.ExpireTime.HasValue && DateTime.Now > tenant.ExpireTime.Value)
                        //{
                        //    viewModel.Msg = "error|体验帐户已过有效期,请与MOVO客服联系\n\r联系电话:" + superTenant.PhoneNumber;
                        //    return viewModel;
                        //}
                        ////是否冻结
                        //else if (tenant.IsFreeze)
                        //{
                        //    switch (tenant.TenantType)
                        //    {
                        //        case EnumTenantType.EndCustomer:
                        //            viewModel.Msg = "error|您的账号已被冻结,请与您的设备服务提供商联系!\n\r联系电话:" + superTenant.PhoneNumber;
                        //            break;
                        //        case EnumTenantType.OperatingMerchant:
                        //            viewModel.Msg = "error|您的账号已被冻结,请与MOVO客服联系。\n\r联系电话:" + superTenant.PhoneNumber;
                        //            break;
                        //    }
                        //    return viewModel;
                        //}
                    }

                    switch (viewModel.TenantType)
                    {
                        case 1://平台商
                            EMTenant firstCustomer = tenantService.SelectLastChildEndCustomer("");
                            if (firstCustomer != null)
                            {
                                EMUser firstUser = service.GetUser(firstCustomer.RegisterUserCode);
                                if (firstUser != null)
                                {
                                    viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                                    viewModel.SelectedUser.UserCode = firstUser.UserCode;
                                    viewModel.SelectedUser.UserName = firstUser.UserName;
                                    viewModel.SelectedUser.TenantCode = firstCustomer.TenantCode;
                                    viewModel.SelectedUser.TenantName = firstCustomer.TenantName;
                                    if (!string.IsNullOrEmpty(firstCustomer.SuperTenantID))
                                    {
                                        EMTenant super = this.GetTenant(firstCustomer.SuperTenantID);
                                        if (super != null)
                                        {
                                            viewModel.SelectedUser.SuperTenantCode = super.TenantCode;
                                            viewModel.SelectedUser.SuperTenantName = super.TenantName;
                                        }
                                    }
                                }
                            }
                            break;
                        case 2://运营商
                            EMTenant firstChildEndCustomer = tenantService.SelectLastChildEndCustomer(viewModel.TenantCode);
                            if (firstChildEndCustomer != null)
                            {
                                EMUser firstUser = service.GetUser(firstChildEndCustomer.RegisterUserCode);
                                if (firstUser != null)
                                {
                                    viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                                    viewModel.SelectedUser.UserCode = firstUser.UserCode;
                                    viewModel.SelectedUser.UserName = firstUser.UserName;
                                    viewModel.SelectedUser.TenantCode = firstChildEndCustomer.TenantCode;
                                    viewModel.SelectedUser.TenantName = firstChildEndCustomer.TenantName;
                                    viewModel.SelectedUser.SuperTenantCode = viewModel.TenantCode;
                                    viewModel.SelectedUser.SuperTenantName = viewModel.TenantName;
                                }
                            }

                            break;
                        case 3://终端客户
                            viewModel.SelectedUser = new ViewModel.WebModel.SelectedUserViewModel();
                            viewModel.SelectedUser.UserCode = viewModel.UserCode;
                            viewModel.SelectedUser.UserName = viewModel.UserName;
                            viewModel.SelectedUser.TenantCode = viewModel.TenantCode;
                            viewModel.SelectedUser.TenantName = viewModel.TenantName;
                            viewModel.SelectedUser.SuperTenantCode = user.Tenant.SuperTenantID;
                            viewModel.SelectedUser.SuperTenantName = viewModel.SuperTenantName;
                            break;

                    }
                    if (string.IsNullOrEmpty(viewModel.TenantLogoImgURl))
                    {
                        viewModel.TenantLogoImgURl = UploadImageHelper.TenantImgUrl;
                    }

                    //获取地图类型
                    /*PositioningWCFService mapTypeService = new PositioningWCFService();
                    List<MapTypeViewModel> listMapType = mapTypeService.GetMapType();
                    viewModel.MapTypes = listMapType;*/

                    //令牌环
                    Ticket ticket = new Ticket() { UserCode = user.UserCode, UserName = user.UserName, Password = user.PassWord };
                    string token = EncryptUtil.Encrypt<Ticket>(ticket);
                    viewModel.Token = token;

#if !DEBUG
                        user.LastLoginTime = DateTime.Now;
                        service.Update(user);
#endif

                }
                else
                {
                    viewModel.Msg = "error|体验帐号不存在,请联系系统管理员";
                }
            }
            catch (Exception ex)
            {
                viewModel.Msg = "error|体验帐号登录时,发生未处理错误,请联系系统管理员";
                Logger.Error("[Login]" + ex.Message, ex);
            }
            viewModel.IsExperienceLogin = true;
            return viewModel;
        }
Beispiel #15
0
        private UserInfoViewModel GetUserInfoViewModel(string userName, string pwd, string sessionId, UserInfoViewModel viewModel)
        {
            IUserService service = new UserService();
            EMUser user = service.GetUser(userName, pwd);
            if (user != null)
            {
                viewModel = ConvertToViewModel(user);

                //租户类型
                IEMTenantService tenantService = new EMTenantService();
                EMTenant tenant = tenantService.Select(user.TenantCode);
                viewModel.TenantType = (int)tenant.TenantType;
                viewModel.OperatorLevel = tenant.OperatorLevel;
                if (!string.IsNullOrEmpty(tenant.LogoUrl))
                    viewModel.TenantLogoImgURl = tenant.LogoUrl;
                else
                    viewModel.TenantLogoImgURl = UploadImageHelper.TenantImgUrl;
                if (tenant.TenantType != EnumTenantType.PlatProvider)
                {
                    EMTenant superTenant = tenantService.Select(tenant.SuperTenantID);

                    viewModel.SuperContactNumber = superTenant.PhoneNumber;
                    viewModel.SuperTenantName = superTenant.TenantName;
                    
                    if (tenant.TenantType == EnumTenantType.EndCustomer)
                    {
                            viewModel.TenantLogoImgURl = superTenant.LogoUrl;
                    }
                    if (tenant.TenantType == EnumTenantType.OperatingMerchant && tenant.ExpireTime.HasValue && DateTime.Now > tenant.ExpireTime.Value)
                    {
                        viewModel.Msg = "您的账号已过有效期,请与MOVO客服联系\n\r联系电话:" + superTenant.PhoneNumber;
                        viewModel.IndentifyCode = IndentifyCodeHelper.CreateIndentifyCode(sessionId, 4);
                        return viewModel;
                    }
                    else if (tenant.IsFreeze)
                    {
                        switch (tenant.TenantType)
                        {
                            case EnumTenantType.EndCustomer:
                                viewModel.Msg = "您的账号已被冻结,请与您的设备服务提供商联系!\n\r联系电话:" + superTenant.PhoneNumber;
                                break;
                            case EnumTenantType.OperatingMerchant:
                                viewModel.Msg = "您的账号已被冻结,请与MOVO客服联系。\n\r联系电话:" + superTenant.PhoneNumber;
                                break;
                        }
                        viewModel.IndentifyCode = IndentifyCodeHelper.CreateIndentifyCode(sessionId, 4);
                        return viewModel;
                    }
                }

                //获取地图类型
                PositioningWCFService mapTypeService = new PositioningWCFService();
                List<MapTypeViewModel> listMapType = mapTypeService.GetMapType();
                viewModel.MapTypes = listMapType;

                //令牌环
                Ticket ticket = new Ticket() { UserCode = user.UserCode, UserName = user.UserName, Password = user.PassWord };
                string token = EncryptUtil.Encrypt<Ticket>(ticket);
                viewModel.Token = token;

#if !DEBUG
                        user.LastLoginTime = DateTime.Now;
                        service.Update(user);
#endif

            }
            else
            {
                viewModel.Msg = "用户名或密码错误";
                viewModel.IndentifyCode = IndentifyCodeHelper.CreateIndentifyCode(sessionId, 4);
            }
            return viewModel;
        }
        public CommandResultViewModel UpdateTenantInfo(TenantViewModel tenantVM)
        {
            CommandResultViewModel vm = new CommandResultViewModel();
            try
            {
                IEMTenantService tenantServ = new EMTenantService();
                var isExists = tenantServ.IsExists(tenantVM.TenantName, tenantVM.TenantCode);
                if (isExists)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("客户名称" + tenantVM.TenantName + "已经存在,请重新输入!");
                    return vm;
                }

                EMTenant newTenant = ConvertHelper.ConvertObj<TenantViewModel, EMTenant>(tenantVM);
                tenantServ.UpdateTenant(newTenant);
                IUserService serv = new UserService();
                serv.Update(newTenant.RegisterUserCode, tenantVM.PhoneNumber);

                vm.CommandResult = EnumCommandResult.Success;
                vm.Msg = "修改成功";
                return vm;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                vm.CommandResult = EnumCommandResult.Failed;
                vm.Msg = ex.Message;
                return vm;
            }
        }
        public List<TenantTreeViewModel> GetChildTenant(string tenantCode)
        {
            List<TenantTreeViewModel> list = new List<TenantTreeViewModel>();
            try
            {
                EMTenantService tenantServ = new EMTenantService();
                IList<EMTenant> ltTenantAll = tenantServ.GetGrandChildren(tenantCode);
                if (ltTenantAll.IsNullOrEmpty())
                    return list;

                var ltAllCus = ltTenantAll.Where(s => s.TenantType == EnumTenantType.EndCustomer);
                if (ltAllCus.Count() == 0) return list;

                IList<TenantTreeViewModel> ltChildren = GetChildren(tenantCode,
                    ltTenantAll);
                if (!ltChildren.IsNullOrEmpty())
                    list.AddRange(ltChildren);

                return list;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return list;
            }
        }
 private void UpdateEMTenantLogoUrl(string tenantCode,string logoUrl)
 {
     IEMTenantService service = new EMTenantService();
     if (!string.IsNullOrEmpty(tenantCode))
     {
         EMTenant emTenant = service.Select(tenantCode);
         emTenant.LogoUrl = UploadImageHelper.GetImgName(logoUrl);
         service.Update(emTenant);
     }
 }
Beispiel #19
0
        public PagedDataList<CustomerInfoVM> SearchCustomer_PagingAll(string superTenantCode, string CusName, string LicenceNumber, string SIMNo, string DeviceNo, int rowIndex, int pageSize)
        {
            try
            {
                int rowCount;

                EMTenantService tenantServ = new EMTenantService();
                IList<EMTenant> ltTenant = tenantServ.SearchAll(superTenantCode, CusName,LicenceNumber,SIMNo,DeviceNo, rowIndex, pageSize, out rowCount);
                if (ltTenant.IsNullOrEmpty())
                    return null;

                return new PagedDataList<CustomerInfoVM>()
                {
                    Datas = ConvertToVM(ltTenant),
                    RowCount = rowCount
                };
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                return null;
            }
        }
        /// <summary>
        /// 查询平台切换客户的列表
        /// </summary>
        /// <param name="tenantCode"></param>
        /// <returns></returns>
        public List<ChangeCusWithOMViewModel> GetChangeCusOfPlat(string tenantCode)
        {
            List<ChangeCusWithOMViewModel> list = new List<ChangeCusWithOMViewModel>();
            try
            {
                IList<EMTenant> ltTenantAll = new EMTenantService().GetGrandChildren(tenantCode);
                if (ltTenantAll.IsNullOrEmpty())
                    return list;

                string lastTenantCode = string.Empty;
                Dictionary<string, int> dicVehicleCount = null; //客户的车辆总数
                IList<EMVehicleGroup> ltVehGroups = null; //终端用户车辆组
                var ltAllCus = ltTenantAll.Where(s => s.TenantType == EnumTenantType.EndCustomer && !string.IsNullOrEmpty(s.TenantName));
                if (ltAllCus.Count() > 0)
                { // 处理终端用户车辆总数和分组
                    List<string> ltCusTenantCode = ltAllCus.Select(o => o.TenantCode).ToList();

                    // 客户的车辆总数
                    dicVehicleCount = new EMVehicleService().SelectVehicleCount(ltCusTenantCode);

                    // 终端用户车辆组
                    //ltVehGroups = new EMVehicleGroupService().SelectListByTenantCodes(ltCusTenantCode);

                    EMTenant lastCreateTenant = ltAllCus.OrderByDescending(s => s.CreateTime).ElementAt(0);
                    lastTenantCode = lastCreateTenant.TenantCode;
                }

                //递归处理租户树形数据结构
                IList<ChangeCusWithOMViewModel> ltChildren = GetChildren(tenantCode, lastTenantCode, ltTenantAll, dicVehicleCount, ltVehGroups);
                if (!ltChildren.IsNullOrEmpty())
                    list.AddRange(ltChildren);
            }
            catch (Exception ex)
            {
                Logger.Error("OperateManagerWCFService.GetChangeCusOfPlat(string tenantCode) 异常:" + ex.Message, ex);
            }
            return list;
        }
 public DBProcessResult DeleteOperate(string tenantCode)
 {
     DBProcessResult result = new DBProcessResult() { IsSuccess = false, Message = "删除失败!" };
     try
     {
         IEMTenantService tenantServ = new EMTenantService();
         IUserService userService = new UserService();
         IList<EMTenant> ltTenantAll = tenantServ.GetGrandChildren(tenantCode);
         if (ltTenantAll != null && ltTenantAll.Count > 0)
         {
             result.Message = "对不起,运营商下还存在子运营商或客户,不能删除!";
             result.IsSuccess = false;
         }
         else
         {
             EMTenant  emTenant = tenantServ.Select(tenantCode);
             if(emTenant != null)
             {
                 //EMUser emUser = userService.GetUser(emTenant.RegisterUserCode);
                 userService.Delete(emTenant.RegisterUserCode);//删除注册账号
                 tenantServ.Delete(emTenant);//删除运营商信息
                 result.Message = "删除成功!";
                 result.IsSuccess = true;
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex.Message);
     }
     return result;
 }
 /// <summary>
 /// 获取运营商下的所有运营商
 /// </summary>
 /// <param name="tenantCode"></param>
 /// <returns></returns>
 public List<ChangeOperatorViewModel> GetChangeOperatorData(string tenantCode)
 {
     List<ChangeOperatorViewModel> list = new List<ChangeOperatorViewModel>();
     IEMTenantService tenantServ = new EMTenantService();
     IList<EMTenant> ltTenantAll = tenantServ.GetGrandChildren(tenantCode);
     list = GetChildrenOperator(tenantCode, ltTenantAll);
     return list;
 }
 public DBProcessResult DeleteCustomer(string tenantCode)
 {
     DBProcessResult result = new DBProcessResult() { IsSuccess = false, Message = "删除失败!" };
     try
     {
         EMTenantService tenantServ = new EMTenantService();
         UserService userService = new UserService();
         EMVehicleService vehicleServ = new EMVehicleService();
         IList<EMVehicle> ltEMVehicle = vehicleServ.SelectAll(tenantCode);
         if (ltEMVehicle != null && ltEMVehicle.Count > 0)
         {
             result.Message = "对不起,客户下还存在车辆,不能删除!";
             result.IsSuccess = false;
         }
         else
         {
             EMTenant emTenant = tenantServ.Select(tenantCode);
             if (emTenant != null)
             {
                 //EMUser emUser = userService.GetUser(emTenant.RegisterUserCode);
                 userService.Delete(emTenant.RegisterUserCode);//删除注册账号
                 tenantServ.Delete(emTenant);//删除运营商信息
                 result.Message = "删除成功!";
                 result.IsSuccess = true;
             }
             
             //tenantServ.Delete(tenantCode);
             //result.Message = "删除成功!";
             //result.IsSuccess = true;
         }
     }
     catch (Exception ex)
     {
         Logger.Error(ex.Message);
     }
     return result;
 }
Beispiel #24
0
 /// <summary>
 /// 运营商下的客户列表 和 子集运营商
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public AndroidData<List<MBTenantViewModel>> GetMobileGuestList(PMobileGusetData param)
 {
     AndroidData<List<MBTenantViewModel>> result = new AndroidData<List<MBTenantViewModel>>() { Message = "此运营商没有数据!", ResultCode = (int)ResultCodeEnum.Fail };
     try
     {
         EMTenantService service = new EMTenantService();
         IList<EMTenant> ltTenantAll = service.GetGrandChildren(param.OperateCode);
         if (ltTenantAll.IsNullOrEmpty())
             return result;
         result.Message = string.Empty;
         result.ResultCode = (int)ResultCodeEnum.Success;
         result.ResultData = GetChildRenTenantInfo(param.OperateCode,ltTenantAll);
     }
     catch (Exception ex)
     {
         result.ResultCode = (int)ResultCodeEnum.Fail;
         result.Message = ex.Message;
         Logger.Error("[GetMobileGuestList]:" + ex.Message, ex);
     }
     return result;
 }
        public CommandResultViewModel AddCustomer(CustomerInfoVM customerVM)
        {
            CommandResultViewModel vm = new CommandResultViewModel();
            try
            {
                UserService serv = new UserService();
                bool isExists = serv.ExistsUser(customerVM.UserInfo.UserName);
                if (isExists)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("用户名" + customerVM.UserInfo.UserName + "已经存在,请重新输入!");
                    return vm;
                }
                EMTenantService tenantServ = new EMTenantService();
                var tempTenant = tenantServ.SelectByName(customerVM.Tenant.TenantName);
                if (tempTenant != null)
                {
                    vm.CommandResult = EnumCommandResult.MisMatchCondition;
                    vm.Msg = string.Format("客户名称" + customerVM.Tenant.TenantName + "已经存在,请重新输入!");
                    return vm;
                }

                IdentityNoService identityNoServ = new IdentityNoService();
                string tenantCode = identityNoServ.GetTenantSerialNo();
                EMTenant tenant = GetEMTenant(tenantCode,customerVM.Tenant);
                EMUserGroup userGroup = GetEMUserGroup(identityNoServ, tenantCode,customerVM.UserInfo);
                EMVehicleGroup vehicleGroup = GetEMVehicleGroup(identityNoServ, customerVM.UserInfo.UserName, tenantCode);
                EMUser user = GetEMUser(identityNoServ, customerVM.UserInfo, tenant, userGroup);
                IBaseService baseServ = new BaseService();
                tenant.RegisterUserCode = user.UserCode;
                tenant.RegisterUserName = user.UserName;
                baseServ.Add<EMTenant>(tenant);
                baseServ.Add<EMUserGroup>(userGroup);
                baseServ.Add<EMVehicleGroup>(vehicleGroup);
                baseServ.Add<EMUser>(user);

                vm.CommandResult = EnumCommandResult.Success;
                vm.Msg = "新增用户成功!";
                return vm;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.Message, ex);
                vm.CommandResult = EnumCommandResult.Failed;
                vm.Msg = ex.Message;
                return vm;
            }
        }
 UserCenterAccountDetailViewModel ConvertToAccountViewModel(EMTenantAccountDetail entity)
 {
     UserCenterAccountDetailViewModel mode = null;
     if (entity != null)
     {
         mode = new UserCenterAccountDetailViewModel();
         string userName = null;
         string tenantName=string.Empty;
         mode.OperateType = entity.OperateType;
         mode.CreateTime = entity.CreateTime;
         mode.ConsumeType = entity.ConsumeType;
         mode.TargetTenantCode = entity.TargetTenantCode;
         //if (!string.IsNullOrEmpty(entity.TargetTenantCode))
         //{
             IEMTenantService tenantService = new EMTenantService();
             EMTenant EMTenant = tenantService.Select(entity.TargetTenantCode);
             if (EMTenant != null)
             {
                 userName = EMTenant.RegisterUserName;
                 tenantName = EMTenant.TenantName;
             }
         //}
         mode.ConsumeMoney = entity.ConsumeMoney;
         mode.Remark = entity.Remark;
         mode.UserName = userName;
         mode.TenantName = tenantName;
     }
     return mode;
 }
 public bool FreezeTenant(string tenantCode, bool isFreeze)
 {
     try
     {
         IEMTenantService serv = new EMTenantService();
         serv.FreezeTenant(tenantCode,isFreeze);
         return true;
     }
     catch (Exception ex)
     {
         Logger.Error(ex.Message, ex);
         return false;
     }
 }
 public DBProcessResult UserAndTenantModify(UserInfoModifyViewModel userViewModel)
 {
     DBProcessResult result = new DBProcessResult();
     try
     {
         IUserService userService = new UserService();
         IEMTenantService tenantService = new EMTenantService();
         if (!string.IsNullOrEmpty(userViewModel.Pwd))
         {
            EMUser user =  userService.GetUser(userViewModel.UserCode);
            user.PassWord = userViewModel.Pwd;
            userService.Update(user);
         }
         EMTenant tenant = tenantService.Select(userViewModel.TenantCode);
         tenant.Email = userViewModel.Email;
         tenant.QQ = userViewModel.QQ;
         tenantService.Update(tenant);
         result.Message = "修改成功!";
         result.IsSuccess = true;
     }
     catch (Exception ex)
     {
         result.IsSuccess = false;
         result.Message = ex.Message;
     }
     return result;
 }
Beispiel #29
0
        public UserInfoViewModel AutoLogin(string userCode)
        {
            UserInfoViewModel viewModel = new UserInfoViewModel();
            try
            {
                IUserService service = new UserService();
                EMUser user = service.GetUserFullInfo(userCode);
                if (user != null)
                {
                    viewModel = ConvertToViewModel(user);

                    //租户类型
                    IEMTenantService tenantService = new EMTenantService();
                    EMTenant tenant = tenantService.Select(user.TenantCode);
                    viewModel.TenantType = (int)tenant.TenantType;
                    viewModel.TenantLogoImgURl = tenant.LogoUrl;
                    if (tenant.TenantType != EnumTenantType.PlatProvider)
                    {
                        EMTenant superTenant = tenantService.Select(tenant.SuperTenantID);
                        viewModel.SuperContactNumber = superTenant.PhoneNumber;
                        viewModel.SuperTenantName = superTenant.TenantName;
                        viewModel.TenantLogoImgURl = superTenant.LogoUrl;
                    }

                    //获取地图类型
                    PositioningWCFService mapTypeService = new PositioningWCFService();
                    List<MapTypeViewModel> listMapType = mapTypeService.GetMapType();
                    viewModel.MapTypes = listMapType;

                    //令牌环
                    Ticket ticket = new Ticket() { UserCode = user.UserCode, UserName = user.UserName, Password = user.PassWord };
                    string token = EncryptUtil.Encrypt<Ticket>(ticket);
                    viewModel.Token = token;
                }
                else
                {
                    viewModel.Msg = "未找到记录,UserCode:+" + userCode;
                } return viewModel;
            }
            catch (Exception ex)
            {
                viewModel.Msg = "发生未处理错误,请联系系统管理员";
                Logger.Error(ex.Message);
                return viewModel;
            }
        }