示例#1
0
        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;
        }
示例#2
0
文件: Helper.cs 项目: seb999/MIS.API
        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);
        }
示例#3
0
 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;
 }
示例#4
0
        //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);
        }
示例#5
0
 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;
 }
示例#6
0
        //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";
 }
示例#8
0
        //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";
        }
示例#9
0
文件: Helper.cs 项目: seb999/MIS.API
        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);
        }
示例#10
0
        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);
        }
示例#11
0
文件: Helper.cs 项目: seb999/MIS.API
 /// <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);
     }
 }
示例#12
0
        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);
        }
示例#13
0
        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);
        }
示例#14
0
        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);
        }
示例#15
0
        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);
        }
示例#16
0
文件: Helper.cs 项目: seb999/MIS.API
 /// <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));
 }
示例#17
0
 public LookupUserController([FromServices] MISContext misContext, ILookupUser lookupUser)
 {
     this.lookupUser  = lookupUser;
     this.misContext  = misContext;
     this.currentUser = lookupUser.CurrentUser;
 }
示例#18
0
文件: Helper.cs 项目: seb999/MIS.API
 public static AnnualWorkPlan GetCurrentYear(MISContext context)
 {
     return(context.AnnualWorkPlan.Where(p => p.AWPName == DateTime.Now.Year.ToString()).FirstOrDefault());
 }
示例#19
0
文件: Helper.cs 项目: seb999/MIS.API
 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());
 }
示例#20
0
 public LookupActivity(MISContext misContext, IMemoryCache memoryCache)
 {
     this.memoryCache = memoryCache;
     this.misContext  = misContext;
 }
示例#21
0
 public SearchController([FromServices] MISContext misContext)
 {
     this.misContext = misContext;
 }
示例#22
0
 internal MonitoringController(MISContext misContext)
 {
     this.misContext = misContext;
 }