Ejemplo n.º 1
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Requestor,PropertyAddress,UnitNumber,Description,DateRequested")] MaintenanceRequest maintenanceRequest)
        {
            if (id != maintenanceRequest.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    reqcontext.Update(maintenanceRequest);
                    await reqcontext.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!DoesRequestExist(maintenanceRequest.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Confirm)));
            }
            return(View(maintenanceRequest));
        }
Ejemplo n.º 2
0
        public void SaveOrUpdateMaintenanceRequest()
        {
            MaintenanceRequest MaintenanceRequest = CurrentMaintenanceRequest;

            MaintenanceRequest.RequestNo   = View.RequestNo;
            MaintenanceRequest.RequestDate = Convert.ToDateTime(View.RequestDate);
            MaintenanceRequest.PlateNo     = View.GetPlateNo;
            MaintenanceRequest.KmReading   = Convert.ToInt32(View.GetKmReading);
            MaintenanceRequest.Remark      = View.GetRemark;
            MaintenanceRequest.ActionTaken = View.GetActionTaken;
            MaintenanceRequest.AppUser     = _adminController.GetUser(CurrentUser().Id);
            MaintenanceRequest.Requester   = Convert.ToInt32(CurrentMaintenanceRequest.AppUser.Id);
            MaintenanceRequest.AppUser     = _adminController.GetUser(CurrentUser().Id);

            if (View.GetProjectId != 0)
            {
                MaintenanceRequest.Project = _settingcontroller.GetProject(View.GetProjectId);
            }
            if (View.GetGrantId != 0)
            {
                MaintenanceRequest.Grant = _settingcontroller.GetGrant(View.GetGrantId);
            }

            if (CurrentMaintenanceRequest.MaintenanceRequestStatuses.Count == 0)
            {
                SaveMaintenanceRequestStatus();
            }
            GetCurrentApprover();
            _controller.SaveOrUpdateEntity(MaintenanceRequest);
            _controller.CurrentObject = null;
        }
Ejemplo n.º 3
0
        public void assignMaintenanceRequest(Employee employeeParam, MaintenanceRequest requestParam)
        {
            // A supervisor should be able to create a maintenance request and assign a maintenance request to an employee. When they assign a maintenance request, it should be added to that employee's list of assigned requests and alter the assignedEmployee property on the request itself.

            employeeParam.assignedRequests.Add(requestParam);
            requestParam.assignedEmployee = employeeParam;
        }
        private async System.Threading.Tasks.Task addReply(MaintenanceRequest request)
        {
            var page = new MaintenanceRequestReplyPage();

            page.BindingContext = new MaintenanceRequestReplyViewModel(request);
            await((MainPage)App.Current.MainPage).NavigateTo(page, true);
        }
        public ActionResult DeleteConfirmed(int id)
        {
            MaintenanceRequest maintenanceRequest = Bs.GetTMaintenanceRequest(id);

            Bs.RemoveMaintenanceRequest(maintenanceRequest);
            return(RedirectToAction("Index"));
        }
        protected void ddlMaintenanceReq_SelectedIndexChanged(object sender, EventArgs e)
        {
            MaintenanceRequest maintenance = null;

            dgPurchaseRequestDetail.DataSource = null;
            if (_presenter.GetMaintenanceRequestById(Convert.ToInt32(ddlMaintenanceReq.SelectedValue)) != null)
            {
                maintenance = _presenter.GetMaintenanceRequestById(Convert.ToInt32(ddlMaintenanceReq.SelectedValue));
            }

            foreach (MaintenanceSparePart msp in maintenance.MaintenanceSpareParts)
            {
                PurchaseRequestDetail prd = new PurchaseRequestDetail();
                prd.Item            = msp.Item;
                prd.ItemDescription = msp.Item.Name;
                prd.Project         = msp.MaintenanceRequest.Project;
                prd.Grant           = msp.MaintenanceRequest.Grant;

                _presenter.CurrentPurchaseRequest.PurchaseRequestDetails.Add(prd);
            }
            lblMainReq.Visible        = true;
            ddlMaintenanceReq.Visible = true;

            dgPurchaseRequestDetail.DataSource = _presenter.CurrentPurchaseRequest.PurchaseRequestDetails;
            dgPurchaseRequestDetail.DataBind();
        }
        public ActionResult Create(MaintenanceRequestVM vm)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(vm));
                }

                MaintenanceRequest maintenanceRequest = new MaintenanceRequest
                {
                    CustomerName  = vm.CustomerName,
                    Email         = vm.Email,
                    Adress        = vm.Adress,
                    RequestReason = vm.RequestReason,
                    RequestBy     = vm.RequestBy,
                    ContactNo     = vm.ContactNo,
                    CreatedOn     = DateTime.Now
                };
                maintenanceRequestRepository.Add(maintenanceRequest);
                maintenanceRequestRepository.Save();
                // TODO: Add insert logic here
                return(RedirectToAction("Index"));
            }
            catch (Exception ex)
            {
                return(View(ex));
            }
        }
        public async Task <MaintenanceRequest> UpdateMaintenanceRequest(MaintenanceRequest original,
                                                                        MaintenanceRequestModel updated,
                                                                        int userId)
        {
            // Maintenance requests are immutable once closed.
            if (original.TimeClosed != null)
            {
                return(original);
            }

            if (updated.CloseReason != null)
            {
                original.ClosingUserId = userId;
                original.TimeClosed    = DateTime.Now;
                original.CloseReason   = updated.CloseReason;
            }

            original.MaintenanceRequestType = updated.MaintenanceRequestType;
            original.OpenNotes  = updated.OpenNotes;
            original.UnitNumber = updated.UnitNumber;

            await _context.SaveChangesAsync();

            return(await GetMaintenanceRequest(original.MaintenanceRequestId));
        }
Ejemplo n.º 9
0
        public static void SendEmail(MaintenanceRequest maintenance)
        {
            var client = new RestClient();

            client.BaseUrl       = new Uri("https://api.mailgun.net/v3");
            client.Authenticator = new HttpBasicAuthenticator(
                "api", "REDACTED");
            RestRequest request = new RestRequest();

            request.AddParameter("domain", "mail.tcgsniper.com", ParameterType.UrlSegment);
            request.Resource = "mail.tcgsniper.com/messages";
            request.AddParameter("from", "Gokes Rentals <*****@*****.**>");
            request.AddParameter("to", "*****@*****.**");
            request.AddParameter("subject", "You have a new maintenance request - " + maintenance.Summary);
            request.AddParameter("text", maintenance.FirstName + " " + maintenance.LastName + "\r\n" + maintenance.Description);
            request.Method = Method.POST;

            try
            {
                IRestResponse r = client.Execute(request);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public ActionResult Edit(MaintenanceRequest vm)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View(vm));
                }

                MaintenanceRequest maintenanceRequest = new MaintenanceRequest
                {
                    Id            = vm.Id,
                    CustomerName  = vm.CustomerName,
                    Email         = vm.Email,
                    Adress        = vm.Adress,
                    RequestReason = vm.RequestReason,
                    RequestBy     = vm.RequestBy,
                    ContactNo     = vm.ContactNo,
                };
                maintenanceRequestRepository.Edit(maintenanceRequest);
                maintenanceRequestRepository.Save();

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
        public MaintenanceRequestEditViewModel(MaintenanceRequest request, Lookups lookups)
        {
            var usr = LoginHelper.GetLoggedInUser();

            this.Request = request ?? new MaintenanceRequest()
            {
                IsAddressed              = false,
                RequestDate              = DateTime.Now,
                RequestedById            = usr.User.UserIdValue,
                MaintenanceRequestImages = new ObservableCollection <MaintenanceRequestImage>(),
                MaintenanceRequestReplys = new ObservableCollection <MaintenanceRequestReply>()
            };
            this.HasReplies = this.Request.MaintenanceRequestReplys.Any();
            this.Users      = new ObservableCollection <User>();
            this.Assignees  = new ObservableCollection <User>();
            lookups.Users.ForEach(u => this.Users.Add(u));
            lookups.Users.FindAll(u => u.Roles != null && u.Roles.IndexOf((int)Constants.ROLE.MAINTENANCE_REQUESTS) >= 0).ForEach(u => this.Assignees.Add(u));
            if (this.Request.AssignedToId != null)
            {
                this.Request.AssignedTo = this.Users.FirstOrDefault(u => u.UserIdValue == this.Request.AssignedToIdValue);
            }
            if (this.Request.RequestedById != null)
            {
                this.Request.RequestedBy = this.Users.FirstOrDefault(u => u.UserIdValue == this.Request.RequestedByIdValue);
            }
            this.SaveCommand       = new Command(async() => await this.saveRequest());
            this.LoadImagesCommand = new Command(async() => await this.loadImages());
            this.ReplyCommand      = new Command(async() => await this.addReply());
            this.ImagesViewModel   = new MaintenanceRequestImagesViewViewModel(true);
            this.NewReplies        = new List <MaintenanceRequestReply>();
        }
 public IActionResult CompleteRequest(int id, [Bind("Unit,RequestId,DateOfRequest,EstimatedCompletionDate,ActualCompletionDate,MaintenanceStatus,Message,filePath,Video,ResidentId,tech,MaintanenceTechId,resident")] MaintenanceRequest maintenanceRequest)
 {
     if (id != maintenanceRequest.RequestId)
     {
         return(NotFound());
     }
     if (ModelState.IsValid)
     {
         try
         {
             var currentTech = _context.MaintenanceTech.Where(m => m.MaintenanceTechId == maintenanceRequest.MaintanenceTechId).FirstOrDefault();
             maintenanceRequest.ActualCompletionDate = DateTime.Now;
             maintenanceRequest.MaintenanceStatus    = "Complete";
             currentTech.TotalRequestCompletions++;
             //currentTech.TotalTimeSpan += (maintenanceRequest.ActualCompletionDate - maintenanceRequest.EstimatedCompletionDate);
             //currentTech.AvgTimeSpan = currentTech.TotalTimeSpan / currentTech.TotalRequestCompletions;
             _context.Update(maintenanceRequest);
             _context.SaveChanges();
         }
         catch (DbUpdateConcurrencyException)
         {
             if (!MaintenanceRequestExists(maintenanceRequest.RequestId))
             {
                 return(NotFound());
             }
             else
             {
                 throw;
             }
         }
         return(RedirectToAction("MyRequests", "MaintenanceTechs"));
     }
     ViewData["ResidentId"] = new SelectList(_context.Resident, "ResidentId", "ResidentId", maintenanceRequest.ResidentId);
     return(View(maintenanceRequest));
 }
        public async Task <IActionResult> Edit(int id, [Bind("RequestId,DateOfRequest,EstimatedCompletionDate,ActualCompletionDate,isComplete,MaintenanceStatus,Message,filePath,Video,ResidentId,MaintanenceTechId,resident,Unit,tech")] MaintenanceRequest maintenanceRequest)
        {
            maintenanceRequest.RequestId = id;
            if (id != maintenanceRequest.RequestId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(maintenanceRequest);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MaintenanceRequestExists(maintenanceRequest.RequestId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction("MyRequests", "MaintenanceTechs"));
            }
            ViewData["ResidentId"] = new SelectList(_context.Resident, "ResidentId", "ResidentId", maintenanceRequest.ResidentId);
            return(View(maintenanceRequest));
        }
Ejemplo n.º 14
0
        public ActionResult Edit([Bind(Include = "ID,CreatedDate,CompletedDate,Subject,RequestDetail,StatusDetail,FixDetail,HoursSpent")] MaintenanceRequest maintenanceRequest, string saveBtn, string closeBtn)
        {
            if (ModelState.IsValid && saveBtn != null)
            {
                db.Entry(maintenanceRequest).State = EntityState.Modified;
                db.SaveChanges();
                TempData["SavedChangesMessage"] = "All Changes Have Been Saved!";
                return(RedirectToAction("Edit"));
            }

            if (ModelState.IsValid && closeBtn != null)
            {
                //alert user to enter completion date and display error msg
                do
                {
                    TempData["CloseRequestMsgAlert"] = "Please Enter a Completion Date to Close Request";
                } while (ViewData.ModelState["CompletedDate"] == null);
                return(RedirectToAction("Edit"));
            }
            // if completedDate is filled, move request to 'closed' table
            if (ViewData.ModelState["CompletedDate"] != null && ModelState.IsValid && closeBtn != null)
            {
                db.Entry(maintenanceRequest).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(maintenanceRequest));
        }
        // GET: MaintenanceRequests/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var userName = User.Identity.GetUserName();

            MaintenanceRequest maintenanceRequest = Bs.GetTMaintenanceRequest(id);

            if (maintenanceRequest.UserName == userName)
            {
                if (maintenanceRequest == null)
                {
                    return(HttpNotFound());
                }
                return(View(maintenanceRequest));
            }

            else
            {
                TempData["message"] = "You cannot Delete someone else's report.";

                return(View("Index", db.MaintenanceRequests.ToList()));
            }
        }
        public async Task <MaintenanceRequest> OpenMaintenanceRequest(int userId,
                                                                      DataModel.MaintenanceRequestModel data)
        {
            if (data == null)
            {
                return(null);
            }

            var user = await _context.Users
                       .Where(u => u.UserId == userId)
                       .FirstOrDefaultAsync();

            MaintenanceRequest maintenanceRequest = new MaintenanceRequest
            {
                OpeningUserId          = user.UserId,
                TimeOpened             = DateTime.Now,
                MaintenanceRequestType = data.MaintenanceRequestType,
                OpenNotes  = data.OpenNotes,
                UnitNumber = data.UnitNumber,
            };

            _context.MaintenanceRequests.Add(maintenanceRequest);
            await _context.SaveChangesAsync();

            return(maintenanceRequest);
        }
Ejemplo n.º 17
0
        public void SendMaintenanceRequest(MaintenanceRequest request)
        {
            NetOutgoingMessage msg = client.CreateMessage();

            msg.Write(request.GetMessage());
            client.SendMessage(msg, NetDeliveryMethod.ReliableOrdered);
        }
Ejemplo n.º 18
0
        public async Task <IActionResult> PutMaintenanceRequest(int id, MaintenanceRequest maintenanceRequest)
        {
            if (id != maintenanceRequest.Id)
            {
                return(BadRequest());
            }

            _context.Entry(maintenanceRequest).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MaintenanceRequestExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
        public async Task <IActionResult> Edit(int id, [Bind("MaintenanceId,PropertyId,Description,Documents,Priority")] MaintenanceRequest maintenanceRequest)
        {
            if (id != maintenanceRequest.MaintenanceId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(maintenanceRequest);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MaintenanceRequestExists(maintenanceRequest.MaintenanceId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["PropertyId"] = new SelectList(_context.Property, "PropertyId", "PropertyId", maintenanceRequest.PropertyId);
            return(View(maintenanceRequest));
        }
        /// <summary>
        /// Populates <see cref="MaintenanceRequest"/> fields with the values that are present on <see cref="EditRequestView"/>.
        /// </summary>
        /// <param name="m">New <see cref="MaintenanceRequest"/> object to be populated with <see cref="EditRequestView"/> values.</param>
        /// <returns>True if <see cref="MaintenanceRequest"/> is created successfully. False if an error has occured.</returns>
        private bool CreateMaintenanceRequest(MaintenanceRequest m)
        {
            try
            {
                m.RequestId       = Convert.ToInt32(this.editRequestView.MaintenanceRequestIdTextLabel.Text);
                m.ItemType        = this.editRequestView.ItemTypeTextBox.Text;
                m.ItemId          = this.editRequestView.ItemIdTextBox.Text;
                m.MaintenanceType = this.editRequestView.MaintenanceTypeTextBox.Text;
                m.Status          = this.editRequestView.StatusComboBox.SelectedItem.ToString();
                m.DateRequested   = this.editRequestView.DateRequestDtp.Value;

                if (this.editRequestView.DateRequiredDtp.Checked)
                {
                    m.DateRequired = DateTime.Parse(this.editRequestView.DateRequiredDtp.Value.ToShortDateString());
                }
                else
                {
                    m.DateRequired = null;
                }

                m.EnteredBy    = this.editRequestView.EnteredByTextLabel.Text;
                m.LastModified = DateTime.Now;
                m.ModifiedBy   = Environment.UserName.ToString();
                m.Description  = this.editRequestView.DescriptionText;
                m.Comments     = this.editRequestView.CommentsText;

                return(true);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(false);
            }
        }
Ejemplo n.º 21
0
 public async Task <ActionResult <PreventiveMaintenanceData> > GetTodayChores(MaintenanceRequest request)
 {
     return(await Task.Run(() =>
     {
         var output = _preventiveMaintenanceService.GetDataToTable(request);
         return new ActionResult <PreventiveMaintenanceData>(output);
     }));
 }
Ejemplo n.º 22
0
 private List <Chore> GetCurrentChoresForToday(MaintenanceRequest request)
 {
     return(_choresService.GetAll()
            .Where(c => c.Element.Area.Floor.Building.Installation.Id == request.InstallationId &&
                   (DateTime.Compare(c.StartDate, request.Date) <= 0 &&
                    DateTime.Compare(c.EndDate, request.Date) >= 0))
            .ToList());
 }
Ejemplo n.º 23
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            MaintenanceRequest maintenanceRequest = db.MaintenanceRequest.Find(id);

            db.MaintenanceRequest.Remove(maintenanceRequest);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 24
0
 public ActionResult Edit([Bind(Include = "ID,CreatedDate,CompletedDate,Subject,RequestDetail,StatusDetail,FixDetail,HoursSpent")] MaintenanceRequest maintenanceRequest)
 {
     if (ModelState.IsValid)
     {
         db.Entry(maintenanceRequest).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(maintenanceRequest));
 }
Ejemplo n.º 25
0
 public bool UpdateMaintenanceRequest(MaintenanceRequest maintenanceRequest)
 {
     try
     {
         db.Entry(maintenanceRequest).State = EntityState.Modified;
         db.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     { return(false); }
 }
Ejemplo n.º 26
0
 public MaintenanceRequestReplyViewModel(MaintenanceRequest request)
 {
     CanEdit = AuthService.UserToken.User.Roles.IndexOf((int)Constants.ROLE.ADMIN) >= 0 ||
               AuthService.UserToken.User.Roles.IndexOf((int)Constants.ROLE.MANAGER) >= 0;
     this.Request = request;
     this.Reply   = new MaintenanceRequestReply()
     {
         MaintenanceRequestId = request.MaintenanceRequestId
     };
     this.SaveCommand = new Command(async() => await this.saveReply());
 }
Ejemplo n.º 27
0
        public async Task <IActionResult> Create([Bind("ID,Requestor,PropertyAddress,UnitNumber,Description,DateRequested")] MaintenanceRequest maintenanceRequest)
        {
            if (ModelState.IsValid)
            {
                reqcontext.Add(maintenanceRequest);
                await reqcontext.SaveChangesAsync();

                return(RedirectToAction(nameof(Confirm)));
            }
            return(View(maintenanceRequest));
        }
Ejemplo n.º 28
0
        public PreventiveMaintenanceData GetDataToTable(MaintenanceRequest request)
        {
            PreventiveMaintenanceData = new PreventiveMaintenanceData();
            List <Chore> totalChores           = GetCurrentChoresForToday(request);
            var          totalFiltered         = TotalFiltered(totalChores);
            var          typeAndPeriodFiltered = GetChoresByTypeAndPeriod(totalFiltered);

            GetChoresByTypeAndPeriod(typeAndPeriodFiltered);

            return(PreventiveMaintenanceData);
        }
Ejemplo n.º 29
0
 public bool RemoveMaintenanceRequest(MaintenanceRequest maintenanceRequest)
 {
     try
     {
         db.MaintenanceRequests.Remove(maintenanceRequest);
         db.SaveChanges();
         return(true);
     }
     catch (Exception ex)
     { return(false); }
 }
Ejemplo n.º 30
0
        public ActionResult Create([Bind(Include = "ID,CreatedDate,CompletedDate,Subject,RequestDetail,StatusDetail,FixDetail,HoursSpent")] MaintenanceRequest maintenanceRequest)
        {
            if (ModelState.IsValid)
            {
                maintenanceRequest.ID = Guid.NewGuid();
                db.MaintenanceRequest.Add(maintenanceRequest);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(maintenanceRequest));
        }