// GET: Requests
        public ActionResult Index()
        {
            GetCompletedRequisitionList();
            List <RequestListVM> rsList = new List <RequestListVM>();
            var requestList             = db.Requests.Include(e => e.Configuration).Where(e => e.Configuration.Name != "Assigned").ToList();

            foreach (var item in requestList)
            {
                var employee     = db.Employees.Include(e => e.Department).Include(e => e.Designation).Where(e => e.EmpIdNo == item.EmpIdNo).ToList();
                var employeeName = employee.Select(e => e.Name).FirstOrDefault();
                var department   = employee.Select(e => e.Department.Name).FirstOrDefault();
                var designation  = employee.Select(e => e.Designation.Name).FirstOrDefault();

                RequestListVM rs = new RequestListVM();
                rs.Id            = item.Id;
                rs.Description   = item.Description;
                rs.Location      = item.Location;
                rs.Persons       = item.Persons;
                rs.DepartureTime = item.DepartureTime;
                rs.CheckInTime   = item.CheckInTime;
                rs.EmpIdNo       = item.EmpIdNo;
                rs.Name          = employeeName;
                rs.Designation   = designation;
                rs.Configuration = item.Configuration.Name;
                rs.Department    = department;
                rs.IsCanceled    = item.IsCanceled;
                rsList.Add(rs);
            }
            //var requests = db.Requests.Include(r => r.Configuration).Include(r => r.Employee).Include(r => r.Employee.Department).Include(r => r.Employee.Designation);
            return(View(rsList));
        }
Ejemplo n.º 2
0
        public ActionResult List([FromBody] int Id, [FromQuery] string sortOrder, [FromQuery] string direction, [FromQuery] string searchString, [FromQuery] string currentFilter, [FromQuery] int?page)
        {
            RequestListVM requestList = new RequestListVM();

            requestList.Filter          = searchString;
            requestList.Order.Column    = sortOrder ?? "name";
            requestList.Order.Direction = direction ?? "ASC";
            requestList.Page            = page ?? 1;
            if (requestList.Filter != null)
            {
                requestList.Page = 1;
            }
            else
            {
                requestList.Filter = currentFilter;
            }
            var requests = _vacationRequestRepository.GetPage(requestList.Page, requestList.PageSize, (query) => ApplySortOrder(query, requestList.Order.Column, requestList.Order.Direction));

            if (Id > 0)
            {
                if (_employeeRepository.GetById(Id).RoleId != (int)EmployeeType.Manager)
                {
                    requests.Where(x => x.EmployeeId == Id).ToList();
                }
            }
            foreach (var c in requests)
            {
                var user = _employeeRepository.GetById(c.EmployeeId);
                requestList.Items.Add(new RequestGridModel {
                    Id = c.Id, Approved = c.Approved, Name = $"{user.Name} {user.Surname}", EndDate = c.EndDate, StartDate = c.StartDate
                });
            }
            requestList.TotalPages = (int)Math.Ceiling(requests.TotalCount / (double)requestList.PageSize);
            return(Ok(requestList));
        }
Ejemplo n.º 3
0
        private RequestListVM PrepareRequestListVM(EnvType env, int?page, int?pageSize)
        {
            RequestListVM model = new RequestListVM();

            try
            {
                var requests = _requestSrv.GetAllQueryable(env).OrderByDescending(x => x.Id);

                var pageNumber = page ?? 1;
                var size       = pageSize ?? 20;
                IPagedList <RequestVM> onePageOfRequests = requests.ToPagedList(pageNumber, size)
                                                           .ToMappedPagedList <Request, RequestVM>();

                model.Requests = onePageOfRequests;

                model.Env         = env;
                model.Description = $"Requests from {model.Env}";
                model.PageSize    = size;
            }
            catch (Exception ex)
            {
                string cs = _requestSrv.GetConnectionString();
                _logger.LogError("[PrepareRequestListVM] Ex for cs: '{0}' -> {1}", cs, ex.ToString());
                throw ex;
            }

            return(model);
        }
        private RequestListVM SetRequestDetails(int?id)
        {
            Request rs       = db.Requests.Find(id);
            var     employee =
                db.Employees.Include(e => e.Department)
                .Include(e => e.Designation)
                .Where(e => e.EmpIdNo == rs.EmpIdNo)
                .ToList();
            var           employeeName = employee.Select(e => e.Name).FirstOrDefault();
            var           department   = employee.Select(e => e.Department.Name).FirstOrDefault();
            var           designation  = employee.Select(e => e.Designation.Name).FirstOrDefault();
            var           status       = db.Configurations.Where(e => e.Id == rs.ConfigurationId).Select(e => e.Name).FirstOrDefault();
            RequestListVM rsVM         = new RequestListVM
            {
                Id            = rs.Id,
                Description   = rs.Description,
                Location      = rs.Location,
                Persons       = rs.Persons,
                DepartureTime = rs.DepartureTime,
                CheckInTime   = rs.CheckInTime,
                EmpIdNo       = rs.EmpIdNo,
                Name          = employeeName,
                Designation   = designation,
                Configuration = status,
                Department    = department,
                IsCanceled    = rs.IsCanceled
            };

            return(rsVM);
        }
Ejemplo n.º 5
0
        private async Task <RequestListVM> PrepareRequestListVM(EnvType env)
        {
            RequestListVM model = new RequestListVM();

            var requests = (await _requestSrv.GetAllAsync(env)).OrderByDescending(x => x.Id);

            model.Requests    = requests.ToPagedList().ToMappedPagedList <Request, RequestVM>();
            model.Env         = env;
            model.Description = $"All Requests from {model.Env}";
            model.PageSize    = 1;
            model.ShowingAll  = true;

            return(model);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> GetRequestList([FromBody] RequestListVM requestVM)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            IEnumerable <object> request = await _requestRepository.getRequestsList(requestVM.requestID, requestVM.RequsetPrivateNumber,
                                                                                    requestVM.employeeID, requestVM.managerId, requestVM.requestTypeID,
                                                                                    requestVM.statusCode, requestVM.showMyEmployee);

            if (request == null)
            {
                return(NotFound());
            }
            // return Json(new { data = requests });
            return(Ok(request));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Add([FromBody] RequestListVM data)
        {
            int r     = -2;
            var trans = this._projectReqservice.GetTransaction();

            try
            {
                using (trans)
                {
                    var temp = new RequestList();
                    temp.ApiName      = data.ApiName;
                    temp.Nik          = data.Nik;
                    temp.Id           = data.Id;
                    temp.Category     = data.Category;
                    temp.Detail       = data.Detail;
                    temp.ProjectName  = data.ProjectName;
                    temp.Status       = data.Status;
                    temp.SubTitle     = data.SubTitle;
                    temp.Title        = data.Title;
                    temp.UrlAction    = data.UrlAction;
                    temp.UrlProject   = data.UrlProject;
                    temp.Displayed    = false;
                    temp.readOnlyOnce = data.ReadOnlyOnce;
                    temp.CreatedAt    = DateTime.Now;
                    var check = this._projectReqservice.GetSpecificId(temp);
                    if (check != null)
                    {
                        check.Category     = data.Category;
                        check.Detail       = data.Detail;
                        check.Status       = data.Status;
                        check.Title        = data.Title;
                        check.SubTitle     = data.SubTitle;
                        check.UrlAction    = data.UrlAction;
                        check.UrlProject   = data.UrlProject;
                        check.ProjectName  = data.ProjectName;
                        check.readOnlyOnce = data.ReadOnlyOnce;

                        this._projectReqservice.Update(check);
                        r = this._projectReqservice.save();
                    }
                    else
                    {
                        this._projectReqservice.Add(temp);
                        r = this._projectReqservice.save();
                    }
                    if (r > 0)
                    {
                        var res = new CustomResponse
                        {
                            message = "Data sudah ditambahkan",
                            title   = "Penambahan Data Sukses",
                            ok      = true
                        };
                        trans.Commit();
                        this._notifService.sendNotifReferToData(data.Nik, data.ApiName, data.Id, data.DataNotif.Title, data.DataNotif.Message);
                        return(Ok(res));
                    }
                    else
                    {
                        var res = new CustomResponse
                        {
                            message = "Data gagal ditambahkan",
                            title   = "Penambahan Data Gagal",
                            ok      = false
                        };
                        trans.Commit();
                        return(Ok(res));
                    }
                }
            }
            catch (Exception ex)
            {
                var res = new CustomResponse
                {
                    errors = new List <string>()
                    {
                        ex.InnerException.Message
                    },
                    message = ex.Message,
                    title   = "Error",
                    ok      = false
                };
                return(BadRequest(res));
            }
        }
Ejemplo n.º 8
0
        public IActionResult List(EnvType env, int?page, int?pageSize)
        {
            RequestListVM model = PrepareRequestListVM(env, page, pageSize);

            return(View("RequestList", model));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> All(EnvType env)
        {
            RequestListVM model = await PrepareRequestListVM(env);

            return(View("RequestList", model));
        }