public LookupExpense(MISContext misContext, IMemoryCache memoryCache) { this.memoryCache = memoryCache; List <LookupExpenseItem> cached; if (!memoryCache.TryGetValue(typeof(LookupExpenseItem).Name, out cached)) { cached = (from expense in misContext.Expense .Include(p => p.Activity) select new LookupExpenseItem { ExpenseId = expense.ExpenseId, ActivityId = expense.ActivityId, AwpId = expense.Activity.AWPId, DPId = expense.Activity.DSPId, DPCode = expense.Activity.Dsp.DspCode, SectionId = expense.Activity.SectionId, SectionCode = expense.Activity.Section.SectionCode, UnitId = expense.Activity.UnitId, UnitCode = expense.Activity.Unit.UnitCode, Amount = expense.ExpenseAmount, }).ToList(); // Store it in cache memoryCache.Set(typeof(LookupExpenseItem).Name, cached); } ExpenseLookupList = cached; }
public static List <SelectListItem> GetActivityCodeList(MISContext context, long awpId) { //Get list of activityCode and put in Viewbag List <SelectListItem> activityCodeList = context.Activity .Include(p => p.Strategy) .Include(p => p.Unit) .Include(p => p.Dsp) .Include(p => p.Awp) //.Where(p => p.AWPId == awpId).Where(p => GetActivityCode(p)).ToList() .Where(p => p.AWPId == awpId) .Where(p => p.ActivityIsDeleted != true).ToList() .Select(p => new SelectListItem() { Value = p.ActivityId.ToString(), Text = GetActivityCode(p), //ExtraData = item.AWPId.ToString(), }).OrderBy(p => p.Text).ToList(); activityCodeList.Insert(0, new SelectListItem() { Text = "--", Value = "0" }); return(activityCodeList); }
public ExpenseStaffController([FromServices] MISContext misContext, ILookupUser lookupUser, IHostingEnvironment server, ILookupActivity lookupActivity) { this.misContext = misContext; this.currentUser = lookupUser != null ? lookupUser.CurrentUser: null; this.defaultUserPictureUrl = server.WebRootPath + @"\images\DefaultUser.png"; this.lookupActivity = lookupActivity; }
//Dipendency Injection for Http Context is not working //public LookupUser(MISContext misContext, IMemoryCache memoryCache, HttpContext httpContext, IHostingEnvironment server) public LookupUser(MISContext misContext, IMemoryCache memoryCache, IHostingEnvironment server) { this.memoryCache = memoryCache; HttpContext httpContext = new HttpContextAccessor().HttpContext; defaultUserPictureUrl = server.WebRootPath + @"/images/DefaultUser.png"; //Get current user string userName = GetCurrentUserLoginName(httpContext); if (userName == "") { return; } CurrentUser = GetUserDetails(misContext, userName); //TODO : why this methid is so slow ?? //Get list userApplication active and inactive (no picture) UserApplicationFullList = GetUserApplicationList(misContext); //Get list of active userApplication with picture UserApplicationList = GetActiveUserApplicationList(misContext); //Get list of active userApplication (no picture) UserApplicationNoPictureList = GetActiveUserApplicationNoPictureList(misContext); }
public ActivityController([FromServices] MISContext misContext, ILookupUser lookupUser, IHostingEnvironment server) { this.misContext = misContext; this.defaultUserPictureUrl = server.WebRootPath + @"\images\DefaultUser.png"; this.currentUser = lookupUser.CurrentUser; this.hostingEnvironement = server; this.lookupUser = lookupUser; }
//public ILookupActivity ActivityLookupList { get; } //public ProcurementController([FromServices]MISContext misContext, LogService logService,ILookupUser lookupUser, ILookupActivity lookupActivity) public ProcurementController([FromServices] MISContext misContext, ILookupUser lookupUser) { this.misContext = misContext; //this.logService = logService; this.currentUser = lookupUser.CurrentUser; //ActivityLookupList = lookupActivity; UserApplicationList = lookupUser.UserApplicationList; }
public RequestExpenseController([FromServices] MISContext misContext, ILookupUser lookupUser, ILookupExpense lookupExpense, IHostingEnvironment server) { this.lookupUser = lookupUser; this.misContext = misContext; this.userApplicationList = lookupUser.UserApplicationList; this.currentUser = lookupUser.CurrentUser; defaultUserPictureUrl = server.WebRootPath + @"/images/DefaultUser.png"; }
//private readonly string meetingManagerEmail; public MeetingController([FromServices] MISContext misContext, ILookupUser lookupUser, ILookupExpense lookupExpense, IHostingEnvironment server) { this.misContext = misContext; this.expenseLookupList = lookupExpense.ExpenseLookupList; this.userApplicationList = lookupUser.UserApplicationList; this.currentUser = lookupUser.CurrentUser; this.stockholmLocationId = misContext.Location.Where(p => p.LocationName == "Stockholm").Select(p => p.LocationId).FirstOrDefault(); this.defaultUserPictureUrl = server.WebRootPath + @"\images\DefaultUser.png"; }
public static AnnualWorkPlan GetAwp(MISContext context, long awpId) { AnnualWorkPlan workingYear; if (awpId == 0) { workingYear = GetCurrentYear(context); } else { workingYear = context.AnnualWorkPlan.Where(p => p.Awpid == awpId).Select(p => p).FirstOrDefault(); } return(workingYear); }
private List <UserApplication> GetUserApplicationList(MISContext context) { List <UserApplication> cached; if (!memoryCache.TryGetValue(typeof(UserApplication).Name + "FullList", out cached)) { cached = context.UserApplication.AsNoTracking().ToList(); cached.Insert(0, new UserApplication() { UserId = 0, UserFirstName = "--" }); memoryCache.Set(typeof(UserApplication).Name + "FullList", cached); } return(cached); }
/// <summary> /// Get user authorization on one specific MIS role /// </summary> /// <param name="context">The database context</param> /// <param name="currentUser">The userApplication</param> /// <param name="userAccess">The UserAccess role we want to query</param> /// <returns>Bool</returns> public static bool GetUserAuthorization(MISContext context, UserApplication currentUser, UserAccess userAccess) { if (currentUser.UserExternalTool != null) { foreach (var item in currentUser.UserExternalTool.Where(p => p.UserExternalToolIsDeleted != true)) { if (context.ExternalToolsRole.Where(p => p.ExternalToolRoleId == item.ExternalToolRoleId).Select(p => p.ExternalToolRoleName).FirstOrDefault() == userAccess.ToString()) { return(true); } } return(false); } else { return(false); } }
private UserApplication GetUserDetails(MISContext MISContext, string userName) { var result = MISContext.UserApplication .Include(p => p.UserRole) .Include(p => p.UserRoleBis) .Include(p => p.UserGrade) .Include(p => p.Unit) .Include(p => p.Dsp) .Include(p => p.Section) .Where(p => p.UserLoginName == userName).FirstOrDefault(); if (result.UserRoleBis == null) { result.UserRoleBis = new UserRole(); } return(result); }
private List <UserApplication> GetActiveUserApplicationNoPictureList(MISContext context) { List <UserApplication> cached; if (!memoryCache.TryGetValue(typeof(UserApplication).Name + "WithNoPicture", out cached)) { cached = context.UserApplication.AsNoTracking() .Where(p => SetNoPicture(p)) .Where(p => p.UserIsInactive != true).ToList(); cached.Insert(0, new UserApplication() { UserId = 0, UserFirstName = "--" }); memoryCache.Set(typeof(UserApplication).Name + "WithNoPicture", cached); } return(cached); }
public LookupRepository(MISContext misContext, IMemoryCache memoryCache) { this.memoryCache = memoryCache; //Get generics lookup using IsInactive bool SectionList = GetLookupListNew(misContext.Section); BudgetLineList = GetLookupListNew <BudgetLine>(misContext.BudgetLine); StrategyList = GetLookupListNew <Strategy>(misContext.Strategy); ActivityStatusList = GetLookupListNew <ActivityStatus>(misContext.ActivityStatus); MeetingStatusList = GetLookupListNew <MeetingStatus>(misContext.MeetingStatus); AwpList = GetLookupListNew <AnnualWorkPlan>(misContext.AnnualWorkPlan); DPList = GetLookupListNew <Dsp>(misContext.Dsp); ProcTypeList = GetLookupListNew <ProcurementType>(misContext.ProcurementType); //ProcConTypeList = GetLookupListNew<ProcurementContractType>(misContext.ProcurementContractType); //ProcFrameworkTypeList = GetLookupListNew<ProcurementFrameworkType>(misContext.ProcurementFrameworkType); //UserGradeList = GetLookupListNew<UserGrade>(misContext.UserGrade); //UserRoleList = GetLookupListNew<UserRole>(misContext.UserRole); //TagList = GetLookupListNew<Tag>(misContext.Tag); BudgetTransferStatusList = GetLookupListNew <PendingTransferStatus>(misContext.PendingTransferStatus); //ExpenseStaffStatusList = GetLookupListNew<ExpenseStaffStatus>(misContext.ExpenseStaffStatus); UnitList = GetLookupListNew <Unit>(misContext.Unit); ExpenseTypeList = GetLookupListNew <ExpenseType>(misContext.ExpenseType); UserList = GetLookupListNew <UserApplication>(misContext.UserApplication).OrderBy(p => p.Text).ToList(); ProcStatusList = GetLookupListNew <ProcurementStatus>(misContext.ProcurementStatus).OrderBy(p => Int32.Parse(p.ExtraData)).ToList(); //ProcTimingStatusList = GetLookupListNew<ProcurementTimingStatus>(misContext.ProcurementTimingStatus); ProcOfficerList = GetLookupListNew <UserApplication>(misContext.UserApplication, "ProcOfficer").OrderBy(p => p.Text).ToList(); AuthOfficerList = GetLookupListNew <UserApplication>(misContext.UserApplication, "AuthOfficer").OrderBy(p => p.Text).ToList(); FinanceInitiatorList = GetLookupListNew <UserApplication>(misContext.UserApplication, "FinanceInitiator").OrderBy(p => p.Text).ToList(); //LocationList = GetLookupListNew<Location>(misContext.Location); //ExpensePlatoStatusList = GetLookupListNew<ExpensePlatoStatus>(misContext.ExpensePlatoStatus); //FunctionalGroupList = GetLookupListNew<GroupActivity>(misContext.GroupActivity); //RecurrenceList = GetLookupListNew<Recurrence>(misContext.Recurrence); //CapacityLevelList = GetLookupListNew<CapacityLevel>(misContext.CapacityLevel); //SpdObjectivelList = GetLookupListNew<SpdObjective>(misContext.SpdObjective); //SpdKeyOutputList = GetLookupListNew<SpdKeyOutput>(misContext.SpdKeyOutput); //PriorityList = GetLookupListNew<Priority>(misContext.Priority); //ProcFinancingDecisionList = GetLookupListNew<ProcurementFinancingDecision>(misContext.ProcurementFinancingDecision); }
private UserApplication GetUserDetails(MISContext MISContext, string userName) { var currentUser = MISContext.UserApplication.AsNoTracking() .Include(p => p.UserExternalTool).AsNoTracking() .Include(p => p.UserRole).AsNoTracking() .Include(p => p.UserRoleBis).AsNoTracking() .Include(p => p.UserGrade).AsNoTracking() .Include(p => p.Unit).AsNoTracking() .Include(p => p.Dsp).AsNoTracking() .Include(p => p.Section).AsNoTracking() .Where(p => p.UserLoginName == userName) .Where(p => SetUserDefaultPic(p)).FirstOrDefault(); //If user is not in UserApplication table if (currentUser == null) { return(null); } if (currentUser.UserRoleBis == null) { currentUser.UserRoleBis = new UserRole(); } if (currentUser.UserRole == null) { currentUser.UserRole = MISContext.UserRole.Where(p => p.UserRoleName == "N/A").FirstOrDefault(); } if (currentUser.UserGrade == null) { currentUser.UserGrade = MISContext.UserGrade.Where(p => p.UserGradeName == "N/A").FirstOrDefault(); } return(currentUser); }
/// <summary> /// Get list of activityCode /// </summary> /// <param name="currentYear"></param> /// <returns></returns> public static List <SelectListItem> GetActivityCodeList(MISContext context, AnnualWorkPlan currentYear) { return(GetActivityCodeList(context, currentYear.Awpid)); }
public LookupUserController([FromServices] MISContext misContext, ILookupUser lookupUser) { this.lookupUser = lookupUser; this.misContext = misContext; this.currentUser = lookupUser.CurrentUser; }
public static AnnualWorkPlan GetCurrentYear(MISContext context) { return(context.AnnualWorkPlan.Where(p => p.AWPName == DateTime.Now.Year.ToString()).FirstOrDefault()); }
public static long GetMultiAnnualPlan(MISContext context, AnnualWorkPlan currentYear) { return(context.MultiAnnualWorkPlan.Where( p => p.MawpstartYear.Value.Year <= int.Parse(currentYear.AWPName) && p.MawpendYear.Value.Year >= int.Parse(currentYear.AWPName)).Select(p => p.Mawpid).FirstOrDefault()); }
public LookupActivity(MISContext misContext, IMemoryCache memoryCache) { this.memoryCache = memoryCache; this.misContext = misContext; }
public SearchController([FromServices] MISContext misContext) { this.misContext = misContext; }
internal MonitoringController(MISContext misContext) { this.misContext = misContext; }