示例#1
0
        // GET: /Users/
        public ActionResult Index(int isdelete = 0, int restoreid = 0)
        {
            var list = (dynamic)null;

            TempData["restore"] = "";
            if (isdelete == 0)
            {
                if (restoreid > 0)
                {
                    if (db.tblArea.Any(a => a.AreaID == restoreid && a.IsDelete == true))
                    {
                        tblArea tblArea = db.tblArea.Find(restoreid);
                        tblArea.IsDelete        = false;
                        db.Entry(tblArea).State = EntityState.Modified;
                        db.SaveChanges();
                        TempData["msg"] = "Record Restore Successfully";
                        // return View("Index","Area");
                    }
                }
                list = db.tblArea.Where(a => a.IsDelete != true).OrderByDescending(a => a.AreaID).ToList();
            }
            else
            {
                TempData["restore"] = "restore";
                list = db.tblArea.Where(a => a.IsDelete == true).OrderByDescending(a => a.AreaID).ToList();
            }
            return(View(list));
        }
示例#2
0
        // GET: AreaApp/Delete/5
        public ActionResult Delete(tblArea detailsToEdit)
        {
            var d = obj.tblAreas.Where(x => x.id == detailsToEdit.id).FirstOrDefault();

            obj.tblAreas.Remove(d);
            obj.SaveChanges();
            return(RedirectToAction("AreaDetails"));
        }
示例#3
0
        public ActionResult DeleteConfirmed(int id)
        {
            tblArea tblArea = db.tblArea.Find(id);

            db.tblArea.Remove(tblArea);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#4
0
 public ActionResult Create([Bind(Exclude = "Id")] tblArea data)
 {
     if (!ModelState.IsValid)
     {
         return(View());
     }
     obj.tblAreas.Add(data);
     obj.SaveChanges();
     return(RedirectToAction("AreaDetails"));
 }
示例#5
0
        //public tblAnio RetrieveByAnioTexto(int anio)
        //{
        //    tblAnio Result = null;
        //    using (var r = new Repository<tblAnio>())
        //    {
        //        Result = r.Retrieve(p => p.anio == anio);
        //    }
        //    return Result;
        //}


        public tblArea RetrieveAreaByID(int id)
        {
            tblArea Result = null;

            using (var r = new Repository <tblArea>())
            {
                Result = r.Retrieve(p => p.idArea == id);
            }
            return(Result);
        }
示例#6
0
 public ActionResult Create([Bind(Include = "AreaID,AreaName,CreatedBy,UpdatedBy,CreateDate,UpdateDate,IsLogin,IsDelete,IsActive,CountryID,ProvinceID,CityID,DeleteBy,DeleteDate")] tblArea tblArea)
 {
     if (ModelState.IsValid)
     {
         db.tblArea.Add(tblArea);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(tblArea));
 }
示例#7
0
 public ActionResult Edit([Bind(Include = "AreaID,AreaName,CreatedBy,UpdatedBy,CreateDate,UpdateDate,IsLogin,IsDelete,IsActive,CountryID,ProvinceID,CityID,DeleteBy,DeleteDate")] tblArea tblArea)
 {
     if (ModelState.IsValid)
     {
         db.Entry(tblArea).State = EntityState.Modified;
         db.SaveChanges();
         TempData["msg"] = "Record Update Successfully";
         return(RedirectToAction("Index"));
     }
     return(View(tblArea));
 }
示例#8
0
        public ActionResult Delete(int?id)
        {
            tblArea   A = db.tblAreas.SingleOrDefault(x => x.intAreaId == id);
            AreaModel N = new AreaModel()
            {
                AreaId   = A.intAreaId,
                AreaName = A.strAreaName,
                CityId   = (int)A.intCityId,
                PinCode  = (int)A.intPinCode,
            };

            return(View(N));
        }
示例#9
0
        public ActionResult Edit(tblArea detailsToEdit)
        {
            var orignalRecord = (from m in obj.tblAreas where m.id == detailsToEdit.id select m).First();

            if (!ModelState.IsValid)
            {
                return(View(orignalRecord));
            }
            obj.Entry(orignalRecord).CurrentValues.SetValues(detailsToEdit);

            obj.SaveChanges();
            return(RedirectToAction("AreaDetails"));
        }
示例#10
0
        // GET: /Area/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tblArea tblArea = db.tblArea.Find(id);

            if (tblArea == null)
            {
                return(HttpNotFound());
            }
            return(View(tblArea));
        }
示例#11
0
        public ActionResult Create(AreaModel A)
        {
            tblArea ar = new tblArea();

            ar.intAreaId   = A.AreaId;
            ar.strAreaName = A.AreaName;
            ar.intCityId   = A.CityId;
            ar.intPinCode  = A.PinCode;


            db.tblAreas.Add(ar);
            db.SaveChanges();

            return(RedirectToAction("Index"));
        }
示例#12
0
        public ActionResult Edit(AreaModel ar)
        {
            tblArea a = db.tblAreas.SingleOrDefault(x => x.intAreaId == ar.AreaId);


            if (a != null)
            {
                a.intAreaId   = ar.AreaId;
                a.strAreaName = ar.AreaName;
                a.intCityId   = ar.CityId;
                a.intPinCode  = ar.PinCode;


                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
示例#13
0
        // GET: /Area/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            tblArea tblArea = db.tblArea.Find(id);

            ViewBag.CountryID  = new SelectList(db.tblCountry, "CountryID", "CountryName", tblArea.CountryID);
            ViewBag.ProvinceID = new SelectList(db.tblProvince, "ProvinceID", "ProvinceName", tblArea.ProvinceID);
            ViewBag.CityID     = new SelectList(db.tblCity, "CityID", "CityName", tblArea.CityID);
            if (tblArea == null)
            {
                return(HttpNotFound());
            }
            return(View(tblArea));
        }
示例#14
0
        // GET: Area/Edit/5
        public ActionResult Edit(int id)
        {
            var     areaBLL = new AreasBLL();
            tblArea objArea = areaBLL.RetrieveAreaByID(id);

            var            aulaBLL    = new AulaBLL();
            List <tblAula> listaAulas = aulaBLL.RetrieveAll();

            ViewBag.idAula = new SelectList(listaAulas, "idAula", "nombreAula", objArea.idAula);

            var colaboradorBLL = new ColaboradorBLL();
            List <tblColaboradore> listacolaborador = colaboradorBLL.RetrieveAll();

            ViewBag.idColaborador = new SelectList(listacolaborador, "idcolaborador", "nombreColaborador", objArea.idColaborador);


            return(View(objArea));
        }
示例#15
0
        public ActionResult Create(tblArea area)
        {
            var          areaBLL = new AreasBLL();
            ActionResult Result  = null;

            try
            {
                if (ModelState.IsValid)
                {
                    areaBLL.Create(area);
                    Result = RedirectToAction("Index");
                }
            }
            catch
            {
                return(View());
            }
            return(Result);
        }
示例#16
0
        public bool Delete(int id)
        {
            bool    Result = false;
            tblArea obj    = RetrieveAreaByID(id);

            if (obj != null)
            {
                using (var r = new Repository <tblArea>())
                {
                    Result = r.Delete(obj);
                }
            }
            else
            {
                throw (new Exception("El area seleccionada no se pudo eliminar."));
            }

            return(Result);
        }
示例#17
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     try {
         var     dc      = new DataClassesDataContext();
         tblArea objArea = new tblArea();
         objArea.AreaName = txtArea.Text;
         objArea.PinCode  = Convert.ToInt32(txtPinCode.Text);
         dc.tblAreas.InsertOnSubmit(objArea);
         dc.SubmitChanges();
         Binddata();
     }
     catch (Exception ex)
     {
         int    session    = Convert.ToInt32(Session["AdminID"].ToString());
         string PageName   = System.IO.Path.GetFileName(Request.Url.AbsolutePath);
         string MACAddress = GetMacAddress();
         AddErrorLog(ref ex, PageName, "Admin", 0, session, MACAddress);
         ClientScript.RegisterStartupScript(GetType(), "abc", "alert('Something went wrong! Try again');", true);
     }
 }
示例#18
0
        public JsonResult DeleteArea(int id)
        {
            var          aerBLL  = new AreasBLL();
            wmJsonResult objJson = new wmJsonResult();

            try
            {
                tblArea area = aerBLL.RetrieveAreaByID(id);

                if (area != null)
                {
                    bool banderita = aerBLL.Delete(id);

                    if (banderita == true)
                    {
                        objJson.bandera = true;
                        objJson.mensaje = "El Area se eliminó correctamente";
                    }
                    else
                    {
                        objJson.bandera = false;
                        objJson.mensaje = "El Area NO se eliminó correctamente";
                    }
                }
                else
                {
                    objJson.bandera = false;
                    objJson.mensaje = "El Area no se encontró";
                }
            }
            catch
            {
                objJson.bandera = false;
                objJson.mensaje = "Ocurrio una excepcion al eliminar el registro";
            }

            return(Json(objJson, JsonRequestBehavior.AllowGet));
        }
示例#19
0
        public bool Update(tblArea t)
        {
            bool Result = false;

            using (var r = new Repository <tblArea>())
            {
                tblArea ba = r.Retrieve(p => p.nombreArea == t.nombreArea &&
                                        p.horaInicio == t.horaInicio &&
                                        p.horaFinal == t.horaFinal &&
                                        p.idColaborador == t.idColaborador &&
                                        p.idAula == t.idAula && p.idArea != t.idArea);

                if (ba == null)
                {
                    Result = r.Update(t);
                }
                else
                {
                    throw (new Exception("No se pudo actualizar el area seleccionada."));
                }
            }
            return(Result);
        }
示例#20
0
        public tblArea Create(tblArea t)
        {
            tblArea Result = null;

            using (var r = new Repository <tblArea>())
            {
                tblArea ba = r.Retrieve(p => p.nombreArea == t.nombreArea &&
                                        p.horaInicio == t.horaInicio &&
                                        p.horaFinal == t.horaFinal &&
                                        p.idColaborador == t.idColaborador &&
                                        p.idAula == t.idAula &&
                                        p.idArea != t.idArea);

                if (ba == null)
                {
                    Result = r.Create(t);
                }
                else
                {
                    throw (new Exception("El area ya existe."));
                }
            }
            return(Result);
        }
示例#21
0
 /// <summary>
 /// Create a new tblArea object.
 /// </summary>
 /// <param name="areaID">Initial value of AreaID.</param>
 public static tblArea CreatetblArea(short areaID)
 {
     tblArea tblArea = new tblArea();
     tblArea.AreaID = areaID;
     return tblArea;
 }
        public ActionResult Edit(ServiceRequestsModels ServiceRequest)
        {
            if (ModelState.IsValid)
            {
                var RequestId   = Convert.ToInt32(ServiceRequest.RequestType);
                var requesttype = db.tblServiceTypes.Where(x => x.Id == RequestId).FirstOrDefault()?.ServiceDescription;

                if (!string.IsNullOrEmpty(ServiceRequest.Area))
                {
                    var TblArea = new tblArea
                    {
                        FacilityId = ServiceRequest.FacilityId,
                        BuildingId = ServiceRequest.BuildingId,
                        FloorId    = ServiceRequest.FloorId,
                        AreaName   = ServiceRequest.Area
                    };
                    //TblArea.Id = db.tblAreas.Max(p => p.Id) + 1;
                    db.tblAreas.Add(TblArea);
                    db.SaveChanges();
                    ServiceRequest.AreaId = TblArea.Id;
                }

                if (!string.IsNullOrEmpty(ServiceRequest.Room))
                {
                    var TblRoom = new tblRoom
                    {
                        FacilityId = ServiceRequest.FacilityId,
                        BuildingId = ServiceRequest.BuildingId,
                        FloorId    = ServiceRequest.FloorId,
                        AreaId     = ServiceRequest.AreaId,
                        RoomName   = ServiceRequest.Room
                    };
                    //TblRoom.Id = db.tblRooms.Max(p => p.Id) + 1;
                    db.tblRooms.Add(TblRoom);
                    db.SaveChanges();
                    ServiceRequest.RoomId = TblRoom.Id;
                }

                var TblServiceRequest = db.tblServiceRequests.Where(x => x.ServiceRequestNumber == ServiceRequest.ServiceRequestNumber).FirstOrDefault();

                tblServiceRequestStatu TBLStatus = new tblServiceRequestStatu();
                TBLStatus.dtTimeStamp       = DateTime.Now;
                TBLStatus.iServiceRequestId = ServiceRequest.Id;
                TBLStatus.iStatusId         = db.TblServiceStates.Where(x => x.ServiceState == "Open").FirstOrDefault().id;
                db.tblServiceRequestStatus.Add(TBLStatus);

                TblServiceRequest.OccupantName       = ServiceRequest.OccupantName;
                TblServiceRequest.ContactName        = ServiceRequest.ContactName;
                TblServiceRequest.ContactNumber      = ServiceRequest.ContactNumber;
                TblServiceRequest.ContactEmail       = ServiceRequest.ContactEmail;
                TblServiceRequest.FacilityId         = ServiceRequest.FacilityId;
                TblServiceRequest.BuildingId         = ServiceRequest.BuildingId;
                TblServiceRequest.FloorId            = ServiceRequest.FloorId;
                TblServiceRequest.AreaId             = ServiceRequest.AreaId;
                TblServiceRequest.RoomId             = ServiceRequest.RoomId;
                TblServiceRequest.RequestType        = Convert.ToString(ServiceRequest.RequestType);
                TblServiceRequest.CategoryIdParentId = Convert.ToInt32(db.tblServiceTypes.Where(x => x.Id == ServiceRequest.RequestType).FirstOrDefault()?.ServiceType);
                TblServiceRequest.AssetGroupId       = ServiceRequest.AssetGroupId;
                TblServiceRequest.CategoryId         = ServiceRequest.CategoryId;
                TblServiceRequest.AssetTypeId        = ServiceRequest.CategoryId;
                TblServiceRequest.RequestDescription = ServiceRequest.RequestDescription;
                TblServiceRequest.ISeniorTechId      = ServiceRequest.ISeniorTechId ?? TblServiceRequest.ISeniorTechId;
                TblServiceRequest.Severity           = ServiceRequest.Severity ?? (TblServiceRequest.Severity ?? 3);

                db.SaveChanges();

                List <int> ResourcesList = new List <int>();
                var        WorkOrder     = db.tblWorkOrders.Where(x => x.ServiceRequestId == TblServiceRequest.Id).FirstOrDefault();

                WorkOrder.CategoryTypeId     = ServiceRequest.CategoryId;
                WorkOrder.CategoryIdParentId = Convert.ToInt32(db.tblServiceTypes.Where(x => x.Id == ServiceRequest.RequestType).FirstOrDefault()?.ServiceType);

                var ExistingResources = db.tblWorkOrderResources.Where(x => x.WorkOrderId == WorkOrder.Id).Select(y => y.WorkforceId)?.ToList();

                //Adding moddified reosurces in tblWorkOrderResource
                if (ServiceRequest.ResourceID != null)
                {
                    var NewResources = ServiceRequest.ResourceID.ToList();

                    if (NewResources.Any())
                    {
                        foreach (var resource in NewResources)
                        {
                            if (!ExistingResources.Contains(resource))
                            {
                                var Tblworkorderresources = new tblWorkOrderResource
                                {
                                    WorkforceId = resource,
                                    WorkOrderId = WorkOrder.Id
                                };

                                var TblServiceRequestResources = new tblServiceRequestResource
                                {
                                    ServiceRequestId = TblServiceRequest.Id,
                                    workforceId      = resource
                                };

                                ResourcesList.Add(resource);
                                db.tblServiceRequestResources.Add(TblServiceRequestResources);

                                db.tblWorkOrderResources.Add(Tblworkorderresources);
                            }
                        }

                        foreach (var resource in ExistingResources)
                        {
                            if (!NewResources.Contains(Convert.ToInt32(resource)))
                            {
                                var Tblworkorderresources = db.tblWorkOrderResources.Where(x => x.WorkforceId == resource && x.WorkOrderId == WorkOrder.Id).FirstOrDefault();

                                var TblServiceRequestResources = db.tblServiceRequestResources.Where(x => x.workforceId == resource && x.ServiceRequestId == TblServiceRequest.Id).FirstOrDefault();

                                db.tblWorkOrderResources.Remove(Tblworkorderresources);
                                db.tblServiceRequestResources.Remove(TblServiceRequestResources);
                            }
                        }
                        db.SaveChanges();
                    }
                }

                foreach (var resource in ResourcesList)
                {
                    if (resource != 0)
                    {
                        tblNotificationQueue notification = new tblNotificationQueue();
                        notification.ContactNumber = db.tblWorkForces.Where(x => x.Id == resource).FirstOrDefault().ContactNumber;
                        notification.MessageBody   = WorkOrder.WorkOrderRefNo + " " +
                                                     ServiceRequest.RequestDescription + " " + ServiceRequest.ContactName + " " +
                                                     ServiceRequest.ContactNumber + Convert.ToString(ServiceRequest.Severity ?? 3) + " " +
                                                     db.tblBuildings.Where(x => x.Id == ServiceRequest.BuildingId).FirstOrDefault()?.BuildingName + "/" +
                                                     db.tblFloors.Where(x => x.Id == ServiceRequest.FloorId).FirstOrDefault()?.FloorName + "/" +
                                                     db.tblAreas.Where(x => x.Id == ServiceRequest.AreaId).FirstOrDefault()?.AreaName + "/" +
                                                     db.tblRooms.Where(x => x.Id == ServiceRequest.RoomId).FirstOrDefault()?.RoomName;

                        notification.IsSMSSent       = false;
                        notification.SMSSentDateTime = null;
                        notification.FormRequestType = "WorkOrderUpdate";
                        notification.QueuedDate      = DateTime.Now;

                        db.tblNotificationQueues.Add(notification);
                    }
                }
                db.SaveChanges();

                //Adding files to table
                if (ServiceRequest.Files != null && ServiceRequest.Files.Any())
                {
                    foreach (var file in ServiceRequest.Files)
                    {
                        if (file != null && file.ContentLength > 0)
                        {
                            string newfilename = Path.GetFileNameWithoutExtension(file.FileName) + "_" + Guid.NewGuid() + "SREQ" + Path.GetExtension(file.FileName);
                            string path        = Path.Combine("C:\\Program Files (x86)\\Johnson Controls\\EFIRM\\ImagesHelpDesk\\ServiceRequest",
                                                              newfilename);
                            file.SaveAs(path);

                            var TblServiceRequestImages = new tblServiceRequestImage
                            {
                                sImageName        = newfilename,
                                nServiceRequestId = TblServiceRequest.Id
                            };

                            db.tblServiceRequestImages.Add(TblServiceRequestImages);
                        }
                    }
                    db.SaveChanges();
                }

                return(RedirectToAction("Index"));
            }
            ViewBag.Occupants     = new SelectList(db.tblOccupants, "Id", "OccupantName");
            ViewBag.Facilities    = new SelectList(db.tblFacilities, "Id", "FacilityName");
            ViewBag.Groups        = new SelectList(db.tblAssetGroups, "Id", "AssetGroup");
            ViewBag.RequestTypes  = new SelectList(db.tblServiceTypes, "Id", "ServiceDescription");
            ViewBag.Severities    = new SelectList(db.tblSeverities, "Id", "SeverityLevel");
            ViewBag.LeadResources = new SelectList(db.tblWorkForces, "Id", "PersonName");
            return(View(ServiceRequest));
        }
        public ActionResult Create(ServiceRequestsModels ServiceRequest)
        {
            if (ModelState.IsValid)
            {
                var RequestId   = Convert.ToInt32(ServiceRequest.RequestType);
                var requesttype = db.tblServiceTypes.Where(x => x.Id == RequestId).FirstOrDefault()?.ServiceDescription;

                if (!string.IsNullOrEmpty(ServiceRequest.Area))
                {
                    var TblArea = new tblArea
                    {
                        FacilityId = ServiceRequest.FacilityId,
                        BuildingId = ServiceRequest.BuildingId,
                        FloorId    = ServiceRequest.FloorId,
                        AreaName   = ServiceRequest.Area
                    };
                    //TblArea.Id = db.tblAreas.Max(p => p.Id) + 1;
                    db.tblAreas.Add(TblArea);
                    db.SaveChanges();
                    ServiceRequest.AreaId = TblArea.Id;
                }

                if (!string.IsNullOrEmpty(ServiceRequest.Room))
                {
                    var TblRoom = new tblRoom
                    {
                        FacilityId = ServiceRequest.FacilityId,
                        BuildingId = ServiceRequest.BuildingId,
                        FloorId    = ServiceRequest.FloorId,
                        AreaId     = ServiceRequest.AreaId,
                        RoomName   = ServiceRequest.Room
                    };
                    //TblRoom.Id = db.tblRooms.Max(p => p.Id) + 1;
                    db.tblRooms.Add(TblRoom);
                    db.SaveChanges();
                    ServiceRequest.RoomId = TblRoom.Id;
                }

                var TblServiceRequest = new tblServiceRequest
                {
                    OccupantName       = ServiceRequest.OccupantName,
                    ContactName        = ServiceRequest.ContactName,
                    ContactNumber      = ServiceRequest.ContactNumber,
                    ContactEmail       = ServiceRequest.ContactEmail,
                    FacilityId         = ServiceRequest.FacilityId,
                    BuildingId         = ServiceRequest.BuildingId,
                    FloorId            = ServiceRequest.FloorId,
                    AreaId             = ServiceRequest.AreaId,
                    RoomId             = ServiceRequest.RoomId,
                    RequestType        = Convert.ToString(ServiceRequest.RequestType),
                    AssetGroupId       = ServiceRequest.AssetGroupId,
                    CategoryId         = ServiceRequest.CategoryId,
                    AssetTypeId        = ServiceRequest.CategoryId,
                    RequestDescription = ServiceRequest.RequestDescription,
                    ISeniorTechId      = ServiceRequest.ISeniorTechId,
                    Severity           = ServiceRequest.Severity ?? 3,
                    WhoLogged          = System.Web.HttpContext.Current.User.Identity.Name,
                    Status             = "Open",
                    RequestDate        = System.DateTime.Now,
                    IsThroughService   = false,
                    CategoryIdParentId = Convert.ToInt32(db.tblServiceTypes.Where(x => x.Id == ServiceRequest.RequestType).FirstOrDefault()?.ServiceType)
                };
                string   ServiceRequestNumber         = string.Empty;
                var      LastServiceRequestNumber     = (db.tblServiceRequests.Where(y => y.ServiceRequestNumber.Contains(requesttype)).OrderByDescending(x => x.Id).FirstOrDefault()?.ServiceRequestNumber).Split('/');;
                DateTime LastServiceRequestNumberDate = DateTime.ParseExact(LastServiceRequestNumber[2], "yyMMdd", CultureInfo.InvariantCulture);

                if (LastServiceRequestNumberDate.Year == DateTime.Today.Year &&
                    LastServiceRequestNumberDate.Month == DateTime.Today.Month)
                {
                    ServiceRequestNumber = "SR/" + requesttype + "/" +
                                           DateTime.Today.ToString("yy") + DateTime.Now.Month.ToString("d2") +
                                           DateTime.Now.Day.ToString("d2")
                                           + "/" + (Convert.ToInt32(LastServiceRequestNumber[3]) + 1);
                }
                else
                {
                    ServiceRequestNumber = "SR/" + requesttype + "/" +
                                           DateTime.Today.ToString("yy") + DateTime.Now.Month.ToString("d2") +
                                           DateTime.Now.Day.ToString("d2")
                                           + "/" + 1;
                }
                TblServiceRequest.ServiceRequestNumber = ServiceRequestNumber;
                db.tblServiceRequests.Add(TblServiceRequest);
                db.SaveChanges();


                string   WorkOrderRefNumber         = string.Empty;
                var      LastWorkOrderRefNumber     = (db.tblWorkOrders.Where(y => y.WorkOrderRefNo.Contains(requesttype)).OrderByDescending(x => x.Id).FirstOrDefault()?.WorkOrderRefNo).Split('/');;
                DateTime LastWorkOrderRefNumberDate = DateTime.ParseExact(LastWorkOrderRefNumber[2], "yyMMdd", CultureInfo.InvariantCulture);
                var      WorkOrderId = Convert.ToInt32(ServiceRequest.RequestType);

                if (LastWorkOrderRefNumberDate.Year == DateTime.Today.Year &&
                    LastWorkOrderRefNumberDate.Month == DateTime.Today.Month)
                {
                    WorkOrderRefNumber = "WO/" + requesttype + "/" +
                                         DateTime.Today.ToString("yy") + DateTime.Now.Month.ToString("d2") +
                                         DateTime.Now.Day.ToString("d2")
                                         + "/" + (Convert.ToInt32(LastWorkOrderRefNumber[3]) + 1);
                }
                else
                {
                    WorkOrderRefNumber = "WO/" + requesttype + "/" +
                                         DateTime.Today.ToString("yy") + DateTime.Now.Month.ToString("d2") +
                                         DateTime.Now.Day.ToString("d2")
                                         + "/" + 1;
                }

                var TblWorkOrders = new tblWorkOrder
                {
                    WorkOrderRefNo     = WorkOrderRefNumber,
                    ServiceRequestId   = TblServiceRequest.Id,
                    WorkOrderDate      = DateTime.Now,
                    Status             = "Open",
                    RequesterId        = Convert.ToInt32(Session["UserID"]),
                    CategoryTypeId     = ServiceRequest.CategoryId,
                    IsThroughService   = false,
                    CategoryIdParentId = Convert.ToInt32(db.tblServiceTypes.Where(x => x.Id == ServiceRequest.RequestType).FirstOrDefault()?.ServiceType)
                };
                db.tblWorkOrders.Add(TblWorkOrders);
                db.SaveChanges();

                var        NewServiceRequest = tblServiceRequest.Where(x => x.ServiceRequestNumber == ServiceRequestNumber)?.FirstOrDefault();
                List <int> ResourcesList     = new List <int>();
                //Adding reosurces in tblWorkOrderResource
                if (ServiceRequest.ResourceID != null && ServiceRequest.ResourceID.Any())
                {
                    foreach (var resource in ServiceRequest.ResourceID)
                    {
                        ResourcesList.Add(resource);
                        var Tblworkorderresources = new tblWorkOrderResource
                        {
                            WorkforceId = resource,
                            WorkOrderId = TblWorkOrders.Id
                        };

                        var TblServiceRequestResources = new tblServiceRequestResource
                        {
                            ServiceRequestId = NewServiceRequest.Id,
                            workforceId      = resource
                        };

                        db.tblWorkOrderResources.Add(Tblworkorderresources);
                        db.tblServiceRequestResources.Add(TblServiceRequestResources);
                    }
                    db.SaveChanges();
                }
                else
                {
                    //Service Request is not created from Admin mode so we need to so auto assign of resource
                    var TblShifts         = db.tblShifts?.ToArray();
                    var TblShiftRostering = db.tblShiftRosterings;
                    var TblShiftException = db.tblShiftExceptions;
                    var TimeNow           = TimeSpan.Parse(DateTime.Now.ToString("HH:mm"));

                    var ShiftNow = (TimeNow.Hours > 17 || TimeNow.Hours < 7) ? TblShifts[1] : TblShifts[0];



                    var ResouceonLeaveInCurrentShiftToday = TblShiftException.Where(x => x.ShiftId == ShiftNow.Id && x.FromDate <= DateTime.Now && x.ToDate >= DateTime.Now).Select(x => x.WorkForceId);

                    foreach (var resource in ResouceonLeaveInCurrentShiftToday)
                    {
                        var res = db.tblShiftRosterings.FirstOrDefault(x => x.WorkForceId == resource);
                        TblShiftRostering.Remove(res);
                    }

                    var dummy = TblShifts.ToList();
                    var LeastUsedResourceInCurrentShift = TblShiftRostering.Where(x => x.ShiftId == ShiftNow.Id).OrderBy(x => x.LastUsedDateTime).FirstOrDefault();

                    ResourcesList.Add(Convert.ToInt32(LeastUsedResourceInCurrentShift?.WorkForceId));

                    var Tblworkorderresources = new tblWorkOrderResource
                    {
                        WorkforceId = LeastUsedResourceInCurrentShift?.WorkForceId,
                        WorkOrderId = TblWorkOrders.Id
                    };
                    var TblServiceRequestResources = new tblServiceRequestResource
                    {
                        ServiceRequestId = NewServiceRequest.Id,
                        workforceId      = LeastUsedResourceInCurrentShift?.WorkForceId,
                    };

                    db.tblServiceRequestResources.Add(TblServiceRequestResources);

                    db.tblWorkOrderResources.Add(Tblworkorderresources);
                    NewServiceRequest.ISeniorTechId = LeastUsedResourceInCurrentShift?.WorkForceId;

                    LeastUsedResourceInCurrentShift.LastUsedDateTime = DateTime.Now;

                    db.SaveChanges();
                }

                foreach (var resource in ResourcesList)
                {
                    if (resource != 0)
                    {
                        tblNotificationQueue notification = new tblNotificationQueue();
                        notification.ContactNumber = db.tblWorkForces.Where(x => x.Id == resource).FirstOrDefault().ContactNumber;
                        notification.MessageBody   = TblWorkOrders.WorkOrderRefNo + " " +
                                                     ServiceRequest.RequestDescription + " " + ServiceRequest.ContactName + " " +
                                                     ServiceRequest.ContactNumber + Convert.ToString(ServiceRequest.Severity ?? 3) + " " +
                                                     db.tblBuildings.Where(x => x.Id == ServiceRequest.BuildingId).FirstOrDefault()?.BuildingName + "/" +
                                                     db.tblFloors.Where(x => x.Id == ServiceRequest.FloorId).FirstOrDefault()?.FloorName + "/" +
                                                     db.tblAreas.Where(x => x.Id == ServiceRequest.AreaId).FirstOrDefault()?.AreaName + "/" +
                                                     db.tblRooms.Where(x => x.Id == ServiceRequest.RoomId).FirstOrDefault()?.RoomName;

                        notification.IsSMSSent       = false;
                        notification.SMSSentDateTime = null;
                        notification.QueuedDate      = DateTime.Now;
                        notification.FormRequestType = "WorkOrderAdd";

                        db.tblNotificationQueues.Add(notification);
                    }
                }
                db.SaveChanges();

                //Adding files to table
                if (ServiceRequest.Files != null && ServiceRequest.Files.Any())
                {
                    foreach (var file in ServiceRequest.Files)
                    {
                        if (file != null && file.ContentLength > 0)
                        {
                            string newfilename = Path.GetFileNameWithoutExtension(file.FileName) + "_" + Guid.NewGuid() + "SREQ" + Path.GetExtension(file.FileName);
                            string path        = Path.Combine("C:\\Program Files (x86)\\Johnson Controls\\EFIRM\\ImagesHelpDesk\\ServiceRequest",
                                                              newfilename);
                            file.SaveAs(path);

                            var TblServiceRequestImages = new tblServiceRequestImage
                            {
                                sImageName        = newfilename,
                                nServiceRequestId = TblServiceRequest.Id
                            };
                            db.tblServiceRequestImages.Add(TblServiceRequestImages);
                        }
                    }
                    db.SaveChanges();
                }

                tblServiceRequestStatu TBLStatus = new tblServiceRequestStatu();
                TBLStatus.dtTimeStamp       = DateTime.Now;
                TBLStatus.iServiceRequestId = NewServiceRequest.Id;
                TBLStatus.iStatusId         = db.TblServiceStates.Where(x => x.ServiceState == "Open").FirstOrDefault().id;
                db.tblServiceRequestStatus.Add(TBLStatus);

                return(RedirectToAction("Index", new { ServiceRequestCreated = true }));
            }
            ViewBag.Occupants     = new SelectList(db.tblOccupants, "Id", "OccupantName");
            ViewBag.Facilities    = new SelectList(db.tblFacilities, "Id", "FacilityName");
            ViewBag.Groups        = new SelectList(db.tblAssetGroups, "Id", "AssetGroup");
            ViewBag.RequestTypes  = new SelectList(db.tblServiceTypes, "Id", "ServiceDescription");
            ViewBag.Severities    = new SelectList(db.tblSeverities, "Id", "SeverityLevel");
            ViewBag.LeadResources = new SelectList(db.tblWorkForces, "Id", "PersonName");
            return(View(ServiceRequest));
        }
示例#24
0
 /// <summary>
 /// There are no comments for tblArea in the schema.
 /// </summary>
 public void AddTotblArea(tblArea tblArea)
 {
     base.AddObject("tblArea", tblArea);
 }