public int Update(Data.Models.MaintenanceRequest MR)
        {
            Data.Models.MaintenanceRequest oldMR = _MRepository.Table.FirstOrDefault(w => w.Id == MR.Id);

            if (oldMR != null)
            {
                oldMR.RequestDate   = MR.RequestDate;
                oldMR.RequestTime   = MR.RequestTime;
                oldMR.IsBreakdown   = MR.IsBreakdown;
                oldMR.PlantId       = MR.PlantId;
                oldMR.LineId        = MR.LineId;
                oldMR.MachineId     = MR.MachineId;
                oldMR.PriorityId    = MR.PriorityId;
                oldMR.Problem       = MR.Problem;
                oldMR.Description   = MR.Description;
                oldMR.IsCritical    = MR.IsCritical;
                oldMR.BreakdownType = MR.BreakdownType;
                _MRepository.Update(oldMR);

                return(oldMR.Id);
            }
            else
            {
                return(0);
            }
        }
Example #2
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));
        }
 public int Add(Data.Models.MaintenanceRequest MR)
 {
     _MRepository.Insert(MR);
     return(MR.Id);
 }
        public int SaveRemarks(MaintenanceGridModel MR)// MR
        {
            Data.Models.MaintenanceRequest oldMR = _MRepository.Table.FirstOrDefault(w => w.Id == MR.Id);

            if (oldMR != null)
            {
                if (MR.StatusId == 1)
                {
                    oldMR.PriorityId    = MR.PriorityId;
                    oldMR.StatusId      = 2;
                    oldMR.Problem       = MR.Problem;
                    oldMR.Description   = MR.Description;
                    oldMR.AssignTo      = MR.AssignTo;
                    oldMR.AssignBy      = MR.AssignBy;
                    oldMR.AssignDate    = DateTime.Now;
                    oldMR.Remarks       = MR.Remarks;
                    oldMR.RemarksBy     = MR.RemarksBy;
                    oldMR.BreakdownType = MR.BreakdownType;
                    oldMR.RemarksDate   = DateTime.Now;
                }
                else if (MR.StatusId == 2) //Progress
                {
                    oldMR.StatusId        = 3;
                    oldMR.ProgressBy      = MR.ProgressBy;
                    oldMR.ProgressDate    = DateTime.Now;
                    oldMR.ProgressRemarks = MR.ProgressRemarks;
                    oldMR.WorkStartDate   = MR.WorkStartDate;
                    oldMR.WorkStartTime   = MR.WorkStartTime.Value.TimeOfDay;
                }
                else if (MR.StatusId == 3)//Complete
                {
                    oldMR.StatusId        = 4;
                    oldMR.WorkEndDate     = MR.WorkEndDate;
                    oldMR.WorkEndTime     = MR.WorkEndTime.Value.TimeOfDay;
                    oldMR.CompleteBy      = MR.CompleteBy;
                    oldMR.CompleteDate    = DateTime.Now;
                    oldMR.CompleteRemarks = MR.CompleteRemarks;
                }
                else if (MR.StatusId == 4)//close
                {
                    oldMR.StatusId     = 5;
                    oldMR.CloseDate    = DateTime.Now;
                    oldMR.CloseBy      = MR.CloseBy;
                    oldMR.CloseRemarks = MR.CloseRemarks;
                    TimeSpan rtime       = oldMR.RequestTime;
                    DateTime requestDate = oldMR.RequestDate + rtime;
                    var      totaltime   = (oldMR.WorkEndTime - rtime).Value.TotalMilliseconds;
                    DateTime?endDate     = oldMR.WorkEndDate + oldMR.WorkEndTime;
                    var      day         = oldMR.WorkEndDate - oldMR.RequestDate;
                    if (oldMR.IsBreakdown == true)
                    {
                        //if(oldMR.WorkEndDate > oldMR.RequestDate)
                        //{
                        var endTime = new TimeSpan(23, 59, 59);
                        totaltime = (endTime - rtime).TotalMilliseconds;
                        for (int i = 0; i <= day.Value.Days; i++)
                        {
                            this._breakdownRepository.Insert(new Data.Models.BreakDown
                            {
                                PlantId   = oldMR.PlantId ?? default(int),
                                LineId    = oldMR.LineId ?? default(int),
                                MachineId = oldMR.MachineId ?? default(int),
                                Date      = requestDate,
                                StartTime = rtime,
                                //EndTime = oldMR.WorkEndTime ?? default(TimeSpan),
                                EndTime = day.Value.Days == 0 ? oldMR.WorkEndTime ?? default(TimeSpan) : endTime,
                                //TotalTime = unchecked((int)totaltime),
                                TotalTime          = day.Value.Days == 0 ? unchecked ((int)(oldMR.WorkEndTime - rtime).Value.TotalMilliseconds) : unchecked ((int)totaltime),
                                ElectricalTime     = oldMR.BreakdownType == 1 ? true : false,
                                MechTime           = oldMR.BreakdownType == 2 ? true : false,
                                InstrTime          = oldMR.BreakdownType == 3 ? true : false,
                                FailureDescription = oldMR.Description,
                                CreatedBy          = oldMR.CreatedBy,
                                CreatedDate        = oldMR.CreatedDate,
                            });
                            requestDate = requestDate.AddDays(1);
                            if (i == (day.Value.Days - 1))
                            {
                                rtime     = new TimeSpan(00, 00, 00);
                                endTime   = oldMR.WorkEndTime ?? default(TimeSpan);
                                totaltime = (endTime - rtime).TotalMilliseconds;
                            }
                            else
                            {
                                rtime     = new TimeSpan(00, 00, 00);
                                endTime   = new TimeSpan(23, 59, 59);
                                totaltime = (endTime - rtime).TotalMilliseconds;
                            }
                        }
                    }
                }

                _MRepository.Update(oldMR);

                return(oldMR.Id);
            }
            else
            {
                return(0);
            }
        }