public override bool CanRetrieveEntity(long userId, Game entity) { if (userId == 0) { return(false); } bool result1 = false, result2 = false, result3 = false; if (PermissionChecker.IsGranted(CityQuestPermissionNames.CanAll) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanRetrieve) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanAllGame) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanRetrieveGame)) { return(true); } if (PermissionChecker.IsGranted(CityQuestPermissionNames.CanRetrieveSameLocationGame)) { long?userLocationId = UserRepository.Get(userId).LocationId; result1 = userLocationId != null && entity.LocationId == (long)userLocationId; } if (PermissionChecker.IsGranted(CityQuestPermissionNames.CanRetrieveGameForActivate)) { result2 = entity.IsActive && (DateTime.Now < entity.StartDate); } if (PermissionChecker.IsGranted(CityQuestPermissionNames.CanRetrieveActivatedGame)) { long count = KeyRepository.GetAll().Where(r => r.GameId == entity.Id && r.OwnerUserId == userId).Count(); result3 = count > 0; } #warning TODO fix this results1, results2, results3 -> нормальное return(result1 || result2 || result3); }
public bool CanChangeStatusForEntity(long userId, Game entity, GameStatus oldEntityStatus, GameStatus newEntityStatus) { if (userId == 0) { return(false); } if (PermissionChecker.IsGranted(CityQuestPermissionNames.CanAll) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanUpdate) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanAllGame) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanUpdateGame) || PermissionChecker.IsGranted(CityQuestPermissionNames.CanChangeGameStatus)) { bool result = false; if (!String.IsNullOrEmpty(oldEntityStatus.NextAllowedStatusNames)) { List <string> nextAllowedStatusNames = oldEntityStatus.GetNextAllowedGameStatusNames.ToList(); result = nextAllowedStatusNames.Contains(newEntityStatus.Name); } return(result); } return(false); }
//public void UpdateTask(UpdateTaskInput input) //{ // //We can use Logger, it's defined in ApplicationService base class. // Logger.Info("Updating a task for input: " + input); // //获取是否有权限 // bool canAssignTaskToOther = PermissionChecker.IsGranted(PermissionNames.Pages_Tasks_AssignPerson); // //如果任务已经分配且未分配给自己,且不具有分配任务权限,则抛出异常 // if (input.AssignedPersonId.HasValue && input.AssignedPersonId.Value != AbpSession.GetUserId() && !canAssignTaskToOther) // { // throw new AbpAuthorizationException("没有分配任务给他人的权限!"); // } // var updateTask = Mapper.Map<Task>(input); // _taskRepository.Update(updateTask); //} //public int CreateTask(CreateTaskInput input) //{ // //We can use Logger, it's defined in ApplicationService class. // Logger.Info("Creating a task for input: " + input); // //Creating a new Task entity with given input's properties // var task = new Task // { // Description = input.Description, // Title = input.Title, // State = input.State, // CreationTime = Clock.Now // }; // if (input.AssignedPersonId.HasValue) // { // task.AssignedPerson = _personRepository.Load(input.AssignedPersonId.Value); // } // //Saving entity with standard Insert method of repositories. // return _taskRepository.InsertAndGetId(task); //} public int CreateTask(CreateTaskInput input) { //We can use Logger, it's defined in ApplicationService class. Logger.Info("Creating a task for input: " + input); //判断用户是否有权限 if (input.AssignedPersonId.HasValue && input.AssignedPersonId.Value != AbpSession.GetUserId()) { PermissionChecker.Authorize(PermissionNames.Pages_Tasks_AssignPerson); } var task = Mapper.Map <Task>(input); int result = _taskRepository.InsertAndGetId(task); //只有创建成功才发送邮件和通知 if (result > 0) { task.CreationTime = Clock.Now; if (input.AssignedPersonId.HasValue) { task.AssignedPerson = _userRepository.Load(input.AssignedPersonId.Value); var message = "You hava been assigned one task into your todo list."; //TODO:需要重新配置QQ邮箱密码 //SmtpEmailSender emailSender = new SmtpEmailSender(_smtpEmialSenderConfig); //emailSender.Send("*****@*****.**", task.AssignedPerson.EmailAddress, "New Todo item", message); _notificationPublisher.Publish("NewTask", new MessageNotificationData(message), null, NotificationSeverity.Info, new[] { task.AssignedPerson.ToUserIdentifier() }); } } return(result); }
public void UpdateTask(UpdateTaskInput input) { //We can use Logger, it's defined in ApplicationService base class. Logger.Info("Updating a task for input: " + input); //获取是否有权限 bool canAssignTaskToOther = PermissionChecker.IsGranted(PermissionNames.Pages_Tasks_AssignPerson); //如果任务已经分配且未分配给自己,且不具有分配任务权限,则抛出异常 if (input.AssignedPersonId.HasValue && input.AssignedPersonId.Value != AbpSession.GetUserId() && !canAssignTaskToOther) { throw new AbpAuthorizationException("没有分配任务给他人的权限!"); } var updateTask = Mapper.Map <Task>(input); var user = _userRepository.Get(input.AssignedPersonId.Value); //先执行分配任务 _taskManager.AssignTaskToPerson(updateTask, user); //再更新其他字段 _taskRepository.Update(updateTask); }
private void OnTabLayoutOnTabSelected(object sender, TabLayout.TabSelectedEventArgs e) { if (e.Tab.Position == 2) { if (PermissionChecker.CheckSelfPermission(this, Android.Manifest.Permission.Camera) == (int)Permission.Granted && PermissionChecker.CheckSelfPermission(this, Android.Manifest.Permission.WriteExternalStorage) == (int)Permission.Granted) { _prevTab.Select(); var intent = new Intent(this, typeof(CameraActivity)); StartActivity(intent); } else { //Replace for Permission request this.ShowAlert(LocalizationKeys.CheckPermission); } } else { SelectTab(e.Tab.Position); _prevTab = e.Tab; BasePresenter.User.SelectedTab = e.Tab.Position; } }
/// <summary> /// Checks if current user is granted for a permission. /// </summary> /// <param name="permissionName">Name of the permission</param> protected bool IsGranted(string permissionName) { return(PermissionChecker.IsGranted(permissionName)); }
public async Task <PagedOrderResultResponseDto> GetAll(PagedOrderResultRequestDto input) { var userId = _session.UserId.GetValueOrDefault(); var query = _orderRepository.GetAll(); //////Filters by page if (input.DateFrom.HasValue)//Filter by DateFrom { query = query.Where(x => x.DateBooked.Date >= input.DateFrom.Value.Date); } if (input.DateTo.HasValue)//Filter by DateTo { query = query.Where(x => x.DateBooked.Date <= input.DateTo.Value.Date); } if (!input.Followed.IsNullOrEmpty())//Filter by Followed { query = query.Where(x => x.Followed == input.Followed); } int[] arrayCompany = ConvertToArrayInt(input.CompanyId);//Filter by company if (arrayCompany.Length >= 1) { query = query.Where(x => arrayCompany.Contains(x.CompanyId)); } int[] arrayOrderState = ConvertToArrayInt(input.OrderStateId);//Filter by order state if (arrayOrderState.Length >= 1) { query = query.Where(x => arrayOrderState.Contains(x.OrderStateId)); } if (!input.Sgi.IsNullOrEmpty())//Filter by Sgi { query = query.Where(x => x.Sgi == input.Sgi); } if (!input.InvoiceNo.IsNullOrEmpty())//Filter by InvoiceNo { query = query.Where(x => x.InvoiceNo == input.InvoiceNo); } if (input.PaymentStatusId != 0)//Filter by InvoiceNo { query = query.Where(x => x.PaymentStatusId == input.PaymentStatusId); } //////Filters by page var permissionOrderSeeAll = PermissionChecker.IsGranted(PermissionNames.Order_See_All); //validation for see all orders if (!permissionOrderSeeAll) { var listSubSalesRep = _subSalesRepRepository.GetAll()//validation for sub salesRep .Where(t => t.SalesRepId == userId).Select(t => t.SubSalesRepr.Id).ToList(); if (listSubSalesRep.Count() >= 1) { listSubSalesRep.Add(userId); query = query.Where(x => listSubSalesRep.Contains(x.SalesRepId)); } else { query = query.Where(x => x.SalesRepId == userId); } } var listCompany = _salesRepCompanyRepository.GetAll()//validation for see only company assigned .Where(t => t.SalesRepId == userId).Select(t => t.Company.Id).ToArray(); query = query.Where(x => listCompany.Contains(x.Company.Id)); var permissionOrderReady = PermissionChecker.IsGranted(PermissionNames.Order_Ready); var permissionOrderAdminReady = PermissionChecker.IsGranted(PermissionNames.Order_Admin_Ready); if (permissionOrderReady && !permissionOrderAdminReady)//validation for order ready to booking { query = query.Where(x => x.IsReady == true); } var ordersList = query .Include(t => t.OrderState) .Include(t => t.Company) .Include(t => t.SalesRep) .Include(t => t.TimeSlot) .Include(t => t.FirstIdentification) .Include(t => t.SecondIdentification) .Include(t => t.OrdersProductType) .Include(t => t.PaymentStatus) .OrderByDescending(t => t.Id) .ToList(); int count = ordersList.Count(); var newList = ordersList.Skip(input.SkipCount).Take(input.MaxResultCount); var product = _productTypeRepository.GetAll().ToList(); List <ProductTypeDto> productTypeDto = new List <ProductTypeDto>(); productTypeDto = ObjectMapper.Map(product, productTypeDto); PagedOrderResultResponseDto pagedOrderResultResponseDto = new PagedOrderResultResponseDto(); pagedOrderResultResponseDto.TotalCount = count; pagedOrderResultResponseDto.ProductType = productTypeDto; pagedOrderResultResponseDto.Data = new ListResultDto <OrderListDto>( ObjectMapper.Map <List <OrderListDto> >(newList)); return(pagedOrderResultResponseDto); }
public async Task GetBookingUpdate(OrderDto input) { TextFormat(input); Orders model = _orderRepository.FirstOrDefault(t => t.Id == input.Id); model.CustomerFirstName = input.CustomerFirstName; model.CustomerLastName = input.CustomerLastName; model.ContactPhone = input.ContactPhone; model.Email = input.Email; model.DateOfBirth = DateTime.Parse(input.DateOfBirth); model.ExistingAccountNo = input.ExistingAccountNo; model.StreetNo = input.StreetNo; model.CustomerAddress = input.CustomerAddress; model.Unit = input.Unit; model.City = input.City; model.PostalCode = input.PostalCode; model.PromoDetails = input.PromoDetails; model.Notes = input.Notes; model.OrderNo = input.OrderNo; model.AccountNo = input.AccountNo; model.Remarks = input.Remarks; if (input.InstallDate.IsNullOrEmpty()) { model.InstallDate = null; } else { model.InstallDate = DateTime.Parse(input.InstallDate); } if (OrderStateEnum.Cancelled.ToString().Equals(input.OrderStateName)) { model.Followed = input.Followed; model.Explanation = input.Explanation; } if (OrderStateEnum.Booked.ToString().Equals(input.OrderStateName)) { model.OrderStateId = (int)OrderStateEnum.Booked; } if (OrderStateEnum.Cancelled.ToString().Equals(input.OrderStateName)) { model.OrderStateId = (int)OrderStateEnum.Cancelled; } if (OrderStateEnum.Delayed.ToString().Equals(input.OrderStateName)) { model.OrderStateId = (int)OrderStateEnum.Delayed; } if (OrderStateEnum.Follow.ToString().Equals(input.OrderStateName)) { model.OrderStateId = (int)OrderStateEnum.Follow; } if (OrderStateEnum.Disconnected.ToString().Equals(input.OrderStateName)) { model.OrderStateId = (int)OrderStateEnum.Disconnected; } if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Invoice)) { model.InvoiceNo = input.InvoiceNo; if (PaymentStatusEnum.Done.ToString().Equals(input.PaymentStatusName)) { model.PaymentStatusId = (int)PaymentStatusEnum.Done; } if (PaymentStatusEnum.Deduction.ToString().Equals(input.PaymentStatusName)) { model.PaymentStatusId = (int)PaymentStatusEnum.Deduction; } if (PaymentStatusEnum.Pending.ToString().Equals(input.PaymentStatusName)) { model.PaymentStatusId = (int)PaymentStatusEnum.Pending; } if (model.PaymentStatusId == (int)PaymentStatusEnum.Deduction) { model.OrderStateId = (int)OrderStateEnum.Disconnected; } } if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Ready)) { model.IsReady = Boolean.Parse(input.IsReady); } await _orderRepository.UpdateAsync(model); }
private async Task <int> FillUserMenuItems(UserIdentifier user, IList <MenuItemDefinition> menuItemDefinitions, IList <UserMenuItem> userMenuItems) { //TODO: Can be optimized by re-using FeatureDependencyContext. var addedMenuItemCount = 0; using (var featureDependencyContext = _iocResolver.ResolveAsDisposable <FeatureDependencyContext>()) { featureDependencyContext.Object.TenantId = user == null ? null : user.TenantId; foreach (var menuItemDefinition in menuItemDefinitions) { if (menuItemDefinition.RequiresAuthentication && user == null) { continue; } if (!string.IsNullOrEmpty(menuItemDefinition.RequiredPermissionName) && (user == null || !(await PermissionChecker.IsGrantedAsync(user, menuItemDefinition.RequiredPermissionName)))) { continue; } if (menuItemDefinition.FeatureDependency != null && (AbpSession.MultiTenancySide == MultiTenancySides.Tenant || (user != null && user.TenantId != null)) && !(await menuItemDefinition.FeatureDependency.IsSatisfiedAsync(featureDependencyContext.Object))) { continue; } var userMenuItem = new UserMenuItem(menuItemDefinition, _localizationContext); if (menuItemDefinition.IsLeaf || (await FillUserMenuItems(user, menuItemDefinition.Items, userMenuItem.Items)) > 0) { userMenuItems.Add(userMenuItem); ++addedMenuItemCount; } } } return(addedMenuItemCount); }
private async Task <bool> IsGrantedAsync(string permissionName) { return(await PermissionChecker.IsGrantedAsync(testUser.ToUserIdentifier(), permissionName)); }
public async Task <JsonResult> SaveCompany(CreateOrUpdateCompanyInput model) { if (PermissionChecker.IsGranted("Pages.Company.EditCompany")) { try { var oldCompany = await _companyService.GetCompanyByUserId(model.CompanyEditDto.UserId); if (oldCompany == null || oldCompany.Id != model.CompanyEditDto.Id) { return(Json(new { success = false, msg = "不存在操作对象" })); } CheckModelState(); using (var unitWork = UnitOfWorkManager.Begin()) { await _companyService.UpdateCompanyAsync(model.CompanyEditDto); await _companyIndustryAppService.DeleteCompanyIndustryByCompanyIdAsync(model.CompanyEditDto.Id.Value); List <string> industryIds = model.CompanyEditDto.Industry.Split(',').ToList(); foreach (string industryId in industryIds) { CreateOrUpdateCompanyIndustryInput industryInput = new CreateOrUpdateCompanyIndustryInput(); CompanyIndustryEditDto dto = new CompanyIndustryEditDto() { CompanyId = model.CompanyEditDto.Id.Value, IndustryId = int.Parse(industryId) }; industryInput.CompanyIndustryEditDto = dto; await _companyIndustryAppService.CreateOrUpdateCompanyIndustryAsync(industryInput); } var relativeUser = _userAppService.Get(new EntityDto <long> { Id = model.CompanyEditDto.UserId }).Result; relativeUser.UserType = UserType.Company; if (model.CompanyAuthEditDto != null) { relativeUser.UserType = UserType.VipCompany; await _companyAuthAppService.CreateOrUpdateCompanyAuthAsync(new CreateOrUpdateCompanyAuthInput() { CompanyAuthEditDto = model.CompanyAuthEditDto }); } var user = _userAppService.UpdateUser(relativeUser); unitWork.Complete(); } return(Json(new { success = true, msg = "" })); } catch (Exception e) { return(Json(new { success = false, msg = "保存失败" })); } } return(Json(new { success = false, msg = "无操作权限" })); }
private async Task <int> FillUserMenuItems(int?tenantId, long?userId, IList <MenuItemDefinition> menuItemDefinitions, IList <UserMenuItem> userMenuItems) { var addedMenuItemCount = 0; using (var featureDependencyContext = _iocResolver.ResolveAsDisposable <FeatureDependencyContext>()) { featureDependencyContext.Object.TenantId = tenantId; foreach (var menuItemDefinition in menuItemDefinitions) { if (menuItemDefinition.RequiresAuthentication && !userId.HasValue) { continue; } if (!string.IsNullOrEmpty(menuItemDefinition.RequiredPermissionName) && (!userId.HasValue || !(await PermissionChecker.IsGrantedAsync(userId.Value, menuItemDefinition.RequiredPermissionName)))) { continue; } if (menuItemDefinition.FeatureDependency != null && (AbpSession.MultiTenancySide == MultiTenancySides.Tenant || tenantId.HasValue) && !(await menuItemDefinition.FeatureDependency.IsSatisfiedAsync(featureDependencyContext.Object))) { continue; } var userMenuItem = new UserMenuItem(menuItemDefinition, _localizationContext); if (menuItemDefinition.IsLeaf || (await FillUserMenuItems(tenantId, userId, menuItemDefinition.Items, userMenuItem.Items)) > 0) { userMenuItems.Add(userMenuItem); ++addedMenuItemCount; } } } return(addedMenuItemCount); }
public static bool HasPermission(IPermission perm) { return(PermissionChecker.HasPermission(CurrentUser, perm)); }
public static void CheckUserPermissions(Type t) { PermissionChecker.CheckPermissions(t, CurrentUser, null); }
public ViewModelBase(INavigationService navigationService) { Navigator = navigationService; m_checker = new PermissionChecker(GetType(), Navigator, Load); }
public PagedResultDto <SearchBIllInfoDto> GetPagedBillInfos(SearchBillInfoInput input) { bool Has; var HasI = PermissionChecker.IsGranted(PermissionNames.Pages_Inspection); //判断是有权限 if (!HasI) { Has = PermissionChecker.IsGranted(PermissionNames.Pages_Staff_Merchandiser); //判断是否业务员 } else { Has = false; } // var UserID = AbpSession.GetUserId(); List <BillInfo> task; //按条件过滤 if (input.BillNo.HasValue) { task = _BillInfoRepository.GetAll().OrderByDescending(t => t.Id) .Where(t => t.IsCandidate == false) .WhereIf(input.BillNo.HasValue, t => t.BillNo == input.BillNo) .WhereIf(!input.CompanyAbbreviation.IsNullOrEmpty(), t => t.CompanyAbbreviation == input.CompanyAbbreviation) .WhereIf(!input.ReceivingCity.IsNullOrEmpty(), t => t.ReceivingCity == input.ReceivingCity) .WhereIf(input.CreationTimeS.HasValue, t => t.CreationTime >= input.CreationTimeS) .WhereIf(input.CreationTimeE.HasValue, t => t.CreationTime <= input.CreationTimeE) .WhereIf(Has, t => t.MerchandiserId == input.UserId) .OrderByDescending(t => t.CreationTime) .ToList(); // task[0].BillStateID>=2 } else { task = _BillInfoRepository.GetAll().OrderByDescending(t => t.Id) .Where(t => t.IsCandidate == false) .WhereIf(input.BillNo.HasValue, t => t.BillNo == input.BillNo) .WhereIf(!input.CompanyAbbreviation.IsNullOrEmpty(), t => t.CompanyAbbreviation == input.CompanyAbbreviation) .WhereIf(!input.ReceivingCity.IsNullOrEmpty(), t => t.ReceivingCity == input.ReceivingCity) .WhereIf(input.CreationTimeS.HasValue, t => t.CreationTime >= input.CreationTimeS) .WhereIf(input.CreationTimeE.HasValue, t => t.CreationTime <= input.CreationTimeE) .WhereIf(Has, t => t.MerchandiserId == input.UserId) .WhereIf(!HasI, t => t.BillStateID < 2) //HasI 判断是有权限审核 已签收不显示 .OrderByDescending(t => t.CreationTime) .ToList(); } //var task = _BillInfoRepository.GetAll().OrderByDescending(t => t.Id) // .Where(t => t.IsCandidate == false) // .WhereIf(input.BillNo.HasValue, t => t.BillNo == input.BillNo) // .WhereIf(!input.CompanyAbbreviation.IsNullOrEmpty(), t => t.CompanyAbbreviation == input.CompanyAbbreviation) // .WhereIf(!input.ReceivingCity.IsNullOrEmpty(), t => t.ReceivingCity == input.ReceivingCity) // .WhereIf(input.CreationTimeS.HasValue, t => t.CreationTime >= input.CreationTimeS) // .WhereIf(input.CreationTimeE.HasValue, t => t.CreationTime <= input.CreationTimeE) // //.WhereIf(!input.BillNo.IsNullOrEmpty(), t => t.ReceivingCity == input.ReceivingCity)) // // .WhereIf(Has,t=>t.CreatorUserId== UserID) // .OrderByDescending(t => t.CreationTime) // .ToList(); var taskcount = task.Count; //数据总量 var tasklist = task.Skip((input.PageIndex - 1) * input.PageSize).Take(input.PageSize).ToList(); //获取目标页数据 var result = new PagedResultDto <SearchBIllInfoDto>(taskcount, tasklist.MapTo <List <SearchBIllInfoDto> >()); return(result); }
public ARVOrderLogController(ITP_OrderLogEntityAppService orderLogService, PermissionChecker permissionChecker) { OrderLogService = orderLogService; }
private async Task <bool> IsGrantedAsync(string permissionName) { return(await PermissionChecker.IsGrantedAsync(_testUser.Id, permissionName)); }
/// <summary> /// 检查权限 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="entity"></param> protected virtual void CheckCreate <TEntity>(TEntity entity) { PermissionChecker.Authorize(GetCreatePermissionNames <TEntity>()); }
public async Task <JsonResult> CreateCompany(CreateOrUpdateCompanyInput model) { if (PermissionChecker.IsGranted("Pages.Company.CreateCompany")) { try { var oldCompany = await _companyService.GetCompanyByUserId(model.CompanyEditDto.UserId); if (oldCompany != null) { return(Json(new { success = false, msg = "存在该用户已关联的企业" })); } CheckModelState(); using (var unitWork = UnitOfWorkManager.Begin()) { var newModel = await _companyService.CreateCompanyAsync(model.CompanyEditDto); if (newModel.Id > 0) { List <string> industryIds = newModel.Industry.Split(',').ToList(); foreach (string industryId in industryIds) { CreateOrUpdateCompanyIndustryInput industryInput = new CreateOrUpdateCompanyIndustryInput(); CompanyIndustryEditDto dto = new CompanyIndustryEditDto() { CompanyId = newModel.Id.Value, IndustryId = int.Parse(industryId) }; industryInput.CompanyIndustryEditDto = dto; await _companyIndustryAppService.CreateOrUpdateCompanyIndustryAsync(industryInput); } var relativeUser = _userAppService.Get(new EntityDto <long> { Id = model.CompanyEditDto.UserId }).Result; relativeUser.UserType = UserType.Company; if (model.CompanyAuthEditDto != null) { relativeUser.UserType = UserType.VipCompany; model.CompanyAuthEditDto.CompanyId = newModel.Id.Value; var newAuthModel = await _companyAuthAppService.CreateCompanyAuthAsync(model.CompanyAuthEditDto); } var user = _userAppService.UpdateUser(relativeUser); if (model.ContactEdit != null) { var contactEditDto = model.ContactEdit; contactEditDto.CompanyId = newModel.Id.Value; var newContactModel = await _contactAppService.CreateContactAsync(contactEditDto); if (contactEditDto.IsDefault) { await _contactAppService.SetContactDefault(newContactModel.CompanyId, newContactModel.Id.Value); } } } unitWork.Complete(); } return(Json(new { success = true, msg = "" })); } catch (Exception e) { return(Json(new { success = false, msg = "保存失败" })); } } return(Json(new { success = false, msg = "无操作权限" })); }
private async Task <int> FillUserMenuItems(long?userId, IList <MenuItemDefinition> menuItemDefinitions, IList <UserMenuItem> userMenuItems) { var addedMenuItemCount = 0; foreach (var menuItemDefinition in menuItemDefinitions) { if (menuItemDefinition.RequiresAuthentication && !userId.HasValue) { continue; } if (!string.IsNullOrEmpty(menuItemDefinition.RequiredPermissionName) && (!userId.HasValue || !(await PermissionChecker.IsGrantedAsync(userId.Value, menuItemDefinition.RequiredPermissionName)))) { continue; } if (menuItemDefinition.FeatureDependency != null && AbpSession.MultiTenancySide == MultiTenancySides.Tenant && !(await menuItemDefinition.FeatureDependency.IsSatisfiedAsync(_featureDependencyContext))) { continue; } var userMenuItem = new UserMenuItem(menuItemDefinition); if (menuItemDefinition.IsLeaf || (await FillUserMenuItems(userId, menuItemDefinition.Items, userMenuItem.Items)) > 0) { userMenuItems.Add(userMenuItem); ++addedMenuItemCount; } } return(addedMenuItemCount); }
public ARVStatusTabelController(ITP_ARVStatusEntityAppService arvStatusService, ITP_OrderListEntityAppService orderListService, PermissionChecker permissionChecker) { ArvStatusService = arvStatusService; OrderListService = orderListService; }
public async Task <long> CreateOrUpdateFillLot(CreateOrUpdateFillLotInput input) { if (!input.FillLot.AddressId.HasValue || (input.FillLot.AddressId.HasValue && input.FillLot.AddressId.Value == 0L)) { input.FillLot.AddressId = null; } bool isNew; long fillLotId = 0; if (input.FillLot.Id.HasValue) { if (!PermissionChecker.IsGranted("Pages.Tenant.FillLots.Edit")) { throw new UserFriendlyException(L("Permissions_UserNotAuthorizedMessage")); } isNew = false; FillLot fillLot = new FillLot(); Mapper.Map <FillLotEditDto, FillLot>(input.FillLot, fillLot); fillLot.Tanks = null; await _fillLotRepository.UpdateAsync(fillLot); fillLotId = fillLot.Id; } else { if (!PermissionChecker.IsGranted("Pages.Tenant.FillLots.Create")) { throw new UserFriendlyException(L("Permissions_UserNotAuthorizedMessage")); } isNew = true; FillLot newFillLot = new FillLot(); Mapper.Map <FillLotEditDto, FillLot>(input.FillLot, newFillLot); fillLotId = await this._fillLotRepository.InsertAndGetIdAsync(newFillLot); } var fillLotTanks = await _fillLotTankRepository.GetAllListAsync(m => m.FillLotId == fillLotId); if (input.FillLot.Tanks.Any()) { if (!isNew) { if (fillLotTanks.Any()) { var existingTankIdList = fillLotTanks.Select(t => t.Id).ToList(); foreach (var inputTank in input.FillLot.Tanks) { if (inputTank.Id > 0) { var existing = await _fillLotTankRepository.GetAsync(inputTank.Id); existing.Name = inputTank.Name; existing.Number = inputTank.Number; existing.Capacity = inputTank.Capacity; existing.RemainingCapacity = inputTank.RemainingCapacity; existing.Description = inputTank.Description; existing.LastInspectionComments = inputTank.LastInspectionComments; existing.LastInspectionDate = inputTank.LastInspectionDate; existing.IsActive = inputTank.IsActive; await this._fillLotTankRepository.UpdateAsync(existing); } else { inputTank.FillLotId = fillLotId; await _fillLotTankRepository.InsertAndGetIdAsync(inputTank); } } if (existingTankIdList.Any()) { await _fillLotTankRepository.DeleteAsync(m => m.FillLotId == fillLotId && !existingTankIdList.Contains(m.Id)); } } else { foreach (var inputTank in input.FillLot.Tanks) { inputTank.FillLotId = fillLotId; await _fillLotTankRepository.InsertAsync(inputTank); } } } } else if (!input.FillLot.Tanks.Any() && fillLotTanks.Any()) { var existingTankIdListToDelete = fillLotTanks.Select(x => x.Id); await _fillLotTankRepository.DeleteAsync(x => x.FillLotId == fillLotId && !existingTankIdListToDelete.Contains(x.Id)); } return(fillLotId); }
public ActionResult Index(string type, string mode = "Manage") { var fields = new List <UIField>(); switch (type) { case "Projects": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Status", "Status"), UIField.GetField("CreatedOn", "Applied On", UIFieldTypes.DateTime) }; break; case "Tickets": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("DueDate", "Due Date", UIFieldTypes.DateTime), UIField.GetField("Status", "Status"), UIField.GetField("CreatedOn", "Applied On", UIFieldTypes.DateTime) }; break; case "TeamLeaves": fields = new List <UIField> { UIField.GetField("CreatedByUser.Person.Name", "Employee"), UIField.GetField("LeaveType.Title", "Leave Type"), UIField.GetField("Duration"), UIField.GetField("Start", "Start Date", UIFieldTypes.DateTime), UIField.GetField("Start", "End Date", UIFieldTypes.DateTime), UIField.GetField("CreatedOn", "Applied On", UIFieldTypes.DateTime), UIField.GetField("Status", "Status") }; break; case "leaves": fields = new List <UIField> { UIField.GetField("Employee", "Employee"), UIField.GetField("LeaveType", "Leave Type"), UIField.GetField("Duration"), UIField.GetField("Period", "Period"), UIField.GetField("CreatedOn", "Applied On", UIFieldTypes.TimeAgo), UIField.GetField("Status", "Status"), UIField.GetField("Approver", "Approver"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_LeaveListTemplate", fields)); case "locations": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Phone"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "Permissions": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("PermissionCode"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "roles": fields = new List <UIField> { UIField.GetField("Name"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "technologies": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Icon"), UIField.GetField("Category"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "awards": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "emailtemplates": fields = new List <UIField> { UIField.GetField("Name"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "departments": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("MailAlias", "Mail Alias"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "designations": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Department", "Department"), UIField.GetField("MailAlias", "Mail Alias"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "shifts": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("StartTime", "Start Time", UIFieldTypes.DateTime), UIField.GetField("EndTime", "End Time", UIFieldTypes.DateTime), UIField.GetField("NeedsCompensation", "Needs Compensation"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "skills": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "hobbies": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "certifications": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "JobOpenings": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Vacancies", "Vacancy Count"), UIField.GetField("Status", "Status"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "CandidateDesignations": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "Rounds": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "Offers": fields = new List <UIField> { UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "vendor": fields = new List <UIField> { UIField.GetField("Title", "Name"), UIField.GetField("Email"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "holiday": if (PermissionChecker.CheckPermission(ViewBag.Permissions as List <int>, 215)) { ViewBag.IsManage = true; } fields = new List <UIField> { UIField.GetField("Type", "Type"), UIField.GetField("Title"), UIField.GetField("Date", "Date", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_HolidayListTemplate", fields)); case "leavetype": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("MaxInAStretch", "Max in Stretch"), UIField.GetField("MaxInMonth", "Max in Month"), UIField.GetField("CanCarryForward", "Can Carry Forward"), UIField.GetField("MaxCarryForward", "Max Carry Forward") }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "leavetimeperiod": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Start", "Start Date", UIFieldTypes.DateTime), UIField.GetField("End", "End Date", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "Vendors": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Email"), UIField.GetField("Phone"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "assets": fields = new List <UIField> { UIField.GetField("Title", "Title"), UIField.GetField("TagNumber", "Tag"), UIField.GetField("ModelNumber", "Model"), UIField.GetField("Department", "Department"), UIField.GetField("AllocatedEmployee", "Allocated To"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_AssetListTemplate", fields)); case "employeeassets": fields = new List <UIField> { UIField.GetField("Title", "Title"), UIField.GetField("TagNumber", "Tag"), UIField.GetField("ModelNumber", "Model"), UIField.GetField("Department", "Department"), UIField.GetField("AssetCategory", "AssetCategory"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_LeaveEntitlementsListTemplate", fields)); case "assetallocationhistory": fields = new List <UIField> { UIField.GetField("AllocatedEmployee", "Allocated To"), UIField.GetField("StateType", "State"), UIField.GetField("AllocatedOn", "Allocated On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ProjectMembersListTemplate", fields)); case "assetcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "softwarecategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "softwares": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Version"), UIField.GetField("StatusName", "Status"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "projectmemberroles": fields = new List <UIField> { UIField.GetField("Title", "Name"), UIField.GetField("Department", "Department"), UIField.GetField("RoleType", "Role"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "CRMAccounts": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Industry"), UIField.GetField("Email"), UIField.GetField("PhoneNo"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "requirementcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "Categories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("IsPublic"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "ticketcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "ticketsubcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "Users": fields = new List <UIField> { UIField.GetField("EmployeeCode", "Code"), UIField.GetField("EmployeeStatus", "Status"), UIField.GetField("RequiresTimeSheet", "TimeSheet"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "Articles": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Category.Title", "Category"), UIField.GetField("IsPublic"), UIField.GetField("IsFeatured"), UIField.GetField("Hits"), UIField.GetField("Rating"), UIField.GetField("Version"), UIField.GetField("State"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; break; case "employees": fields = new List <UIField> { UIField.GetField("User", "Name"), UIField.GetField("EmployeeCode", "Code"), UIField.GetField("Department", "Department"), UIField.GetField("Designation", "Designation"), }; return(PartialView("_EmployeeListTemplate", fields)); case "dependents": fields = new List <UIField> { UIField.GetField("Dependent", "Dependent Type"), UIField.GetField("Name"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "emergencycontacts": fields = new List <UIField> { UIField.GetField("Name"), UIField.GetField("RelationshipType", "Relationship") }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "entitlementhistorylists": fields = new List <UIField> { UIField.GetField("LeaveTimePeriod", "Time Period"), UIField.GetField("LeaveType", "Leave Type"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_EntitlementhistoryListTemplate", fields)); case "leaveentitlements": fields = new List <UIField> { UIField.GetField("Employee", "Employee"), UIField.GetField("LeaveType", "Leave Type"), UIField.GetField("LeaveTimePeriod", "Time Period"), UIField.GetField("OperationType", "Operation"), UIField.GetField("LeaveCount", "Leave Count"), UIField.GetField("PreviousBalance", "Previous Balance"), UIField.GetField("NewBalance", "New Balance"), UIField.GetField("AllocatedBy", "Created By"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_LeaveEntitlementsHistoryListTemplate", fields)); case "entitlements": fields = new List <UIField> { UIField.GetField("LeaveTimePeriod", "Leave Cycle"), UIField.GetField("LeaveType", "Leave Type"), UIField.GetField("Allocation", "Leave Balance"), }; return(PartialView("_LeaveEntitlementsListTemplate", fields)); case "leavebalance": fields = new List <UIField> { UIField.GetField("User", "Name"), UIField.GetField("EmployeeCode", "Code"), UIField.GetField("Department", "Department"), UIField.GetField("Designation", "Designation"), }; return(PartialView("_HolidayListTemplate", fields)); case "projects": ViewBag.UserId = WebUser.IsAdmin; bool isMember; var employee = _employeeRepository.GetBy(u => u.UserId == WebUser.Id, "User,User.Person"); isMember = _projectMemberRepository.Any(m => m.EmployeeId == employee.Id && m.ProjectMemberRole.Role == MemberRole.ProjectManager) || WebUser.IsAdmin; ViewBag.Role = isMember; fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("StatusType", "Status"), UIField.GetField("ProjecttypeType", "Type"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ProjectListTemplate", fields)); case "projectmembers": ViewBag.UserId = WebUser.IsAdmin; bool isProjectLead; var user = _employeeRepository.GetBy(u => u.UserId == WebUser.Id, "User,User.Person,Location,Department,Designation,Shift"); isProjectLead = _projectMemberRepository.Any(m => m.EmployeeId == user.Id && m.ProjectMemberRole.Role == MemberRole.ProjectManager) || WebUser.IsAdmin; ViewBag.Role = isProjectLead; fields = new List <UIField> { UIField.GetField("MemberEmployee", "Employee"), UIField.GetField("ProjectMemberRole", "Role"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ProjectMembersListTemplate", fields)); case "inactiveprojectmembers": ViewBag.UserId = WebUser.IsAdmin; bool isLead; var userEmployee = _employeeRepository.GetBy(u => u.UserId == WebUser.Id, "User,User.Person,Location,Department,Designation,Shift"); isLead = _projectMemberRepository.Any(m => m.EmployeeId == userEmployee.Id && m.ProjectMemberRole.Role == MemberRole.ProjectManager) || WebUser.IsAdmin; ViewBag.Role = isLead; fields = new List <UIField> { UIField.GetField("MemberEmployee", "Employee"), UIField.GetField("ProjectMemberRole", "Role"), }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_InactiveProjectMembersListTemplate", fields)); case "tasks": ViewBag.UserId = WebUser.IsAdmin; bool isVisible; var loginUser = _employeeRepository.GetBy(u => u.UserId == WebUser.Id, "User,User.Person"); isVisible = _projectMemberRepository.Any(m => m.EmployeeId == loginUser.Id && (m.ProjectMemberRole.Role == MemberRole.ProjectManager || m.ProjectMemberRole.Role == MemberRole.Lead)) || WebUser.IsAdmin; ViewBag.IsVisible = isVisible; fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Project", "Project"), UIField.GetField("Assignee", "Assignee") }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_TaskListTemplate", fields)); case "leadsources": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "leadstatuses": fields = new List <UIField> { UIField.GetField("Name"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "leadcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "potentialcategories": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "salesstages": fields = new List <UIField> { UIField.GetField("Name"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "crmaccounts": fields = new List <UIField> { UIField.GetField("Title"), UIField.GetField("Industry", "Industry"), UIField.GetField("Email", "Email"), UIField.GetField("PhoneNo", "Phone No"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); case "crmcontacts": fields = new List <UIField> { UIField.GetField("Name", "Name"), UIField.GetField("ParentAccount", "Account"), UIField.GetField("PhoneNo", "Phone No"), UIField.GetField("Email", "Email"), UIField.GetField("CreatedOn", "Created On", UIFieldTypes.DateTime) }; ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_ListTemplate", fields)); } ViewBag.Mode = mode == "Manage" ? "Manage" : "ReadOnly"; return(PartialView("_Table", fields)); }
protected override void OnStart() { PermissionChecker.CheckAndRequestPermission(PermissionChecker.mediaStoragePermission); }
public Task <ExportResultResponse> GetExportExcel(PagedOrderResultRequestDto input) { var result = GetAll(input).Result.Data.Items; ExcelPackage.LicenseContext = LicenseContext.NonCommercial; var products = _productTypeRepository.GetAll().ToList(); using (var package = new ExcelPackage()) { var worksheet = package.Workbook.Worksheets.Add("Orders"); int row = 1, col = 1; worksheet.Cells[row, col++].Value = L("Company"); worksheet.Cells[row, col++].Value = L("Serial"); worksheet.Cells[row, col++].Value = L("DateBooked"); worksheet.Cells[row, col++].Value = L("Sgi"); worksheet.Cells[row, col++].Value = L("SalesRep"); worksheet.Cells[row, col++].Value = L("RepEmail"); worksheet.Cells[row, col++].Value = L("CustomerFirstName"); worksheet.Cells[row, col++].Value = L("CustomerLastName"); worksheet.Cells[row, col++].Value = L("ContactPhone"); worksheet.Cells[row, col++].Value = L("Email"); worksheet.Cells[row, col++].Value = L("DateOfBirth"); worksheet.Cells[row, col++].Value = L("FirstIdentification"); worksheet.Cells[row, col++].Value = L("SecondIdentification"); worksheet.Cells[row, col++].Value = L("ExistingAccountNo"); worksheet.Cells[row, col++].Value = L("StreetNo"); worksheet.Cells[row, col++].Value = L("CustomerAddress"); worksheet.Cells[row, col++].Value = L("Unit"); worksheet.Cells[row, col++].Value = L("City"); worksheet.Cells[row, col++].Value = L("PostalCode"); worksheet.Cells[row, col++].Value = L("PromoDetails"); foreach (var product in products) { worksheet.Cells[row, col++].Value = product.Name; } worksheet.Cells[row, col++].Value = L("TimeSlot"); worksheet.Cells[row, col++].Value = L("Notes"); worksheet.Cells[row, col++].Value = L("OrderNo"); worksheet.Cells[row, col++].Value = L("AccountNo"); worksheet.Cells[row, col++].Value = L("InstallDate"); worksheet.Cells[row, col++].Value = L("OrderState"); worksheet.Cells[row, col++].Value = L("Remarks"); worksheet.Cells[row, col++].Value = L("Followed"); worksheet.Cells[row, col++].Value = L("Explanation"); if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Invoice)) { worksheet.Cells[row, col++].Value = L("PaymentStatus"); worksheet.Cells[row, col++].Value = L("InvoiceNo"); } if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Ready)) { worksheet.Cells[row, col++].Value = L("IsReady"); } worksheet.Cells[ExcelRange.GetAddress(1, 1, 1, col)].Style.Font.Bold = true; foreach (var item in result.ToList()) { row++; col = 1; worksheet.Cells[row, col++].Value = item.Company.Name; worksheet.Cells[row, col++].Value = item.Serial; worksheet.Cells[row, col++].Value = item.DateBooked; worksheet.Cells[row, col++].Value = item.Sgi; worksheet.Cells[row, col++].Value = item.SalesRep.Name; worksheet.Cells[row, col++].Value = item.SalesRep.EmailAddress; worksheet.Cells[row, col++].Value = item.CustomerFirstName; worksheet.Cells[row, col++].Value = item.CustomerLastName; worksheet.Cells[row, col++].Value = item.ContactPhone; worksheet.Cells[row, col++].Value = item.Email; worksheet.Cells[row, col++].Value = item.DateOfBirth; worksheet.Cells[row, col++].Value = item.FirstIdentification.Name; worksheet.Cells[row, col++].Value = item.SecondIdentification.Name; worksheet.Cells[row, col++].Value = item.ExistingAccountNo; worksheet.Cells[row, col++].Value = item.StreetNo; worksheet.Cells[row, col++].Value = item.CustomerAddress; worksheet.Cells[row, col++].Value = item.Unit; worksheet.Cells[row, col++].Value = item.City; worksheet.Cells[row, col++].Value = item.PostalCode; worksheet.Cells[row, col++].Value = item.PromoDetails; var dic = item.OrdersProductType.ToList().ToDictionary(t => t.ProductTypeId, t => t.ProductTypeId); foreach (var product in products) { worksheet.Cells[row, col++].Value = dic.ContainsKey(product.Id) ? "1": "0"; } worksheet.Cells[row, col++].Value = item.TimeSlot.Name; worksheet.Cells[row, col++].Value = item.Notes; worksheet.Cells[row, col++].Value = item.OrderNo; worksheet.Cells[row, col++].Value = item.AccountNo; worksheet.Cells[row, col++].Value = item.InstallDate; worksheet.Cells[row, col++].Value = item.OrderState.Name; worksheet.Cells[row, col++].Value = item.Remarks; worksheet.Cells[row, col++].Value = item.Followed; worksheet.Cells[row, col++].Value = item.Explanation; if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Invoice)) { worksheet.Cells[row, col++].Value = item.PaymentStatus.Name; worksheet.Cells[row, col++].Value = item.InvoiceNo; } if (PermissionChecker.IsGranted(PermissionNames.Order_Admin_Ready)) { worksheet.Cells[row, col++].Value = item.IsReady; } } worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); var response = Task.FromResult(new ExportResultResponse { FileName = "Orders.xlsx", Data = package.GetAsByteArray() }); return(response); } }
public void Check(IExtendedPrincipal user) { PermissionChecker.CheckPermission(user, this, null); }
/// <summary> /// Checks if current user is granted for a permission. /// </summary> /// <param name="permissionName">Name of the permission</param> protected Task <bool> IsGrantedAsync(string permissionName) { return(PermissionChecker.IsGrantedAsync(permissionName)); }
public bool Test(IExtendedPrincipal user) { return(PermissionChecker.HasPermission(user, this)); }
public ARVTaskListController(ITP_TaskListEntityAppService orderListService, PermissionChecker permissionChecker) { TaskListService = orderListService; }
public string UpdateMission(BillInfoDto input) { bool canAssignInspectionToOther = PermissionChecker.IsGranted(PermissionNames.Pages_Inspection); //如果任务已经分配且未分配给自己,且不具有分配任务权限,则抛出异常 if (!canAssignInspectionToOther) { #region 修改信息处理 input.Id = Snowflake.Instance().GetId(); //分布式ID作为主键 var result = Mapper.Map <BillInfo>(input); result.UpVersion(); //版本号加一 result.ChangeIsCandidate(); //设为候选待审核 _BillInfoRepository.Insert(result); #endregion #region 检查是否有同货票号且正在生效中信息 var task = _BillInfoRepository.GetAll() .Where(t => t.BillNo == input.BillNo && t.IsCandidate == false); #endregion // if (input.State == 1)//审核时提出修改信息,新增同货票号新信息,未审核通过时 IsCandidate 状态为1(未审核),同时生成对应审核表内容 if (task.ToList().Count <= 0) { return("该货票基本信息已被删除,不能提出修改"); } //原基本信息不存在,不能修改 else { var taskss = task.Where(t => t.BillStateID == 2).ToList();//订单状态为已签收 if (taskss.Count > 0) { #region 审核信息新建 InspectionDto inspectionDto = new InspectionDto { Id = null, Inspection_No = Snowflake.Instance().GetId(), SourceType = "货票", SourceNo = task.FirstOrDefault().Id, StartDate = DateTime.UtcNow, DestinationNO = result.Id, Version = 1, ProposerName = "", ProposerID = AbpSession.GetUserId(), Title = "货票 修改", IsCandidate = true, InspectionState = 0, InspectionName = null, Action = "修改", InspectionMemo = "", EndDate = null, Quality_level = 1 }; var inspection = Mapper.Map <Inspection>(inspectionDto); _Inspectionrepository.Insert(inspection); #endregion } else { #region 非已签收状态直接修改 try { var task_t = _BillInfoRepository.GetAll().Where(t => t.Id == input.Id && t.IsCandidate == false); var result_t = Mapper.Map <BillInfo>(input); result_t.UpVersion(); //版本号加一 if (task_t != null) { _BillInfoRepository.Update(result_t); return("修改成功"); } else { return("修改失败"); } } catch { return("修改失败"); } #endregion } return("提出修改成功"); } //throw new AbpAuthorizationException("没有分配任务给他人的权限!"); } else { #region 管理员直接修改 try { var task = _BillInfoRepository.GetAll().Where(t => t.Id == input.Id && t.IsCandidate == false); var result = Mapper.Map <BillInfo>(input); result.UpVersion(); //版本号加一 if (task != null) { _BillInfoRepository.Update(result); return("修改成功"); } else { return("修改失败"); } } catch { return("修改失败"); } #endregion } }