コード例 #1
0
        public ActionResult List()
        {
            MaintenanceRequestViewModel model = new MaintenanceRequestViewModel();

            model.Sites = _siteService.GetAll("").ToArray();
            return(View(model));
        }
コード例 #2
0
        public ActionResult Add()
        {
            MaintenanceRequestViewModel model = new MaintenanceRequestViewModel();

            model.Id = 0;
            return(View(model));
        }
コード例 #3
0
        public JsonResult GetMRForDashboard(int Id)
        {
            MaintenanceRequestViewModel model = new MaintenanceRequestViewModel();

            Data.Models.MaintenanceRequest objMR = this._mrServices.GetForId(Id);
            if (objMR != null)
            {
                model.Id          = objMR.Id;
                model.SerialNo    = objMR.SerialNo;
                model.RequestDate = objMR.RequestDate;
                TimeSpan rtime = objMR.RequestTime;
                model.RequestTime   = new DateTime() + rtime;
                model.Problem       = objMR.Problem;
                model.Description   = objMR.Description;
                model.IsBreakdown   = objMR.IsBreakdown;
                model.IsCritical    = objMR.IsCritical;
                model.PlantId       = objMR.PlantId;
                model.LineId        = objMR.LineId;
                model.MachineId     = objMR.MachineId;
                model.StatusId      = objMR.StatusId;
                model.PriorityId    = objMR.PriorityId;
                model.BreakdownType = objMR.BreakdownType;
                model.Remarks       = objMR.Remarks;
                model.Remarks       = objMR.Remarks;
                model.WorkStartDate = objMR.WorkStartDate;
                TimeSpan?starttime = objMR.WorkStartTime;
                model.WorkStartTime = new DateTime() + starttime;
                model.WorkEndDate   = objMR.WorkEndDate;
                TimeSpan?endtime = objMR.WorkEndTime;
                model.WorkEndTime = new DateTime() + endtime;
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
        public ActionResult Update(int?Id)
        {
            MaintenanceRequestViewModel model = new MaintenanceRequestViewModel();

            model.Id = Id ?? 0;

            return(View(model));
        }
コード例 #5
0
        public async Task <IActionResult> New([FromBody] MaintenanceRequestViewModel value)
        {
            if (ModelState.IsValid)
            {
                return(Ok(await _maintenanceRequestsDataProvider.CreateAsync(User, value)));
            }

            return(BadRequest(new { Errors = ModelState.ToErrorCollection() }));
        }
コード例 #6
0
        private async Task <Guid> GetPropertyDetailsIdAsync(ClaimsPrincipal user, MaintenanceRequestViewModel maintenanceRequest)
        {
            var userId = user.GetUserId();

            if (user.IsTenant())
            {
                return(await(from portfolio in Context.Portfolios.AsNoTracking()
                             join propertyDetails in Context.PropertyDetails on portfolio.Id equals propertyDetails.PortfolioId into propertyDetailsJoin
                             from property in propertyDetailsJoin
                             join tenancy in Context.Tenancies on property.Id equals tenancy.PropertyDetailsId into tenanciesJoin
                             from tenancyItem in tenanciesJoin
                             join tenantTenancy in Context.TenantTenancies on tenancyItem.Id equals tenantTenancy.TenancyId into tenantTenanciesJoin
                             from tenantTenancyItem in tenantTenanciesJoin
                             join tenant in Context.Tenants on tenantTenancyItem.TenantId equals tenant.Id
                             join applicationUser in Context.Users on tenant.ApplicationUserId equals applicationUser.Id
                             where applicationUser.Id == userId && !property.IsDeleted && !tenancyItem.IsDeleted && !tenantTenancyItem.IsDeleted && !tenant.IsDeleted
                             orderby tenancyItem.StartDate descending
                             select property.Id)
                       .FirstAsync());
            }
            return(maintenanceRequest.PropertyDetails.Id);
        }
コード例 #7
0
        public async Task <MaintenanceRequestViewModel> UpdateMaintenanceRequestAsync(ClaimsPrincipal user, MaintenanceRequestViewModel maintenanceRequest)
        {
            var portfolioId = await GetPortfolioIdForUserAsync(user);

            var entity = await Context.MaintenanceRequests.Include(x => x.Entries).Include(x => x.PropertyDetails)
                         .SingleOrDefaultAsync(c => c.PropertyDetails.PortfolioId == portfolioId && c.Id == maintenanceRequest.Id);

            if (entity != null)
            {
                entity.MapFrom(maintenanceRequest);
                await Context.SaveChangesAsync();

                return(new MaintenanceRequestViewModel(entity, entity.Entries));
            }

            return(maintenanceRequest);
        }
コード例 #8
0
        public async Task <MaintenanceRequestViewModel> CreateAsync(ClaimsPrincipal user, MaintenanceRequestViewModel maintenanceRequest)
        {
            var portfolioId = await GetPortfolioIdForUserAsync(user);

            var propertyDetailsId = await GetPropertyDetailsIdAsync(user, maintenanceRequest);

            var applicationUser = await user.GetApplicationUserAsync(Context);

            var entity = new MaintenanceRequest
            {
                Created           = DateTime.Now,
                Description       = maintenanceRequest.Description,
                Severity          = maintenanceRequest.Severity,
                Title             = maintenanceRequest.Title,
                PropertyDetailsId = propertyDetailsId
            };

            await Context.AddAsync(entity);

            await Context.SaveChangesAsync();

            var maintenanceEntryEntity = new MaintenanceEntry
            {
                Created = DateTime.Now,
                MaintenanceRequestId = entity.Id,
                Status = MaintenanceStatus.Open,
                UserId = applicationUser.Id
            };

            await Context.AddAsync(maintenanceEntryEntity);

            await Context.SaveChangesAsync();

            return(new MaintenanceRequestViewModel(entity, null)
            {
                Entries = new List <MaintenanceEntryViewModel>
                {
                    new MaintenanceEntryViewModel(maintenanceEntryEntity)
                    {
                        User = new ApplicationUserViewModel(applicationUser)
                    }
                }
            });
        }