示例#1
0
        public ActionResult Delete(string ID)
        {
            try
            {
                REF_REQUEST_TB         request = _uow.Repository <REF_REQUEST_TB>().GetById(Convert.ToInt32(ID));
                RequestDeleteViewModel requestDeleteViewModel = new RequestDeleteViewModel()
                {
                    LocationGroup         = _locationRepo.GetLocationGroupDescriptionByID(Convert.ToInt32(request.N_LOCATION_GROUP_SYSID)),
                    Message               = "",
                    RequestGroup          = _requestRepo.GetRequestGroupDescriptionByRequestGroupID(Convert.ToInt32(request.N_REQUEST_GROUP_SYSID)),
                    RequestID             = request.N_REQUEST_SYSID,
                    SelectedLocationGroup = request.N_LOCATION_GROUP_SYSID,
                    SelectedRequestGroup  = request.N_REQUEST_GROUP_SYSID,
                    SelectedTestGroup     = request.N_TEST_GROUP_SYSID,
                    ShowMessage           = false,
                    TestGroup             = _testRepo.GetTestGroupDescriptionByID(Convert.ToInt32(request.N_TEST_GROUP_SYSID))
                };

                return(View(requestDeleteViewModel));
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    ViewBag.Message = "Function: RequestController.Delete_GET\n\nError: " + ex.Message;
                }
                else
                {
                    ViewBag.Message = "Function: RequestController.Delete_GET\n\nError: " + (ex.Message + "\n\nInnerException: " + ex.InnerException.Message);
                };
                Session["ErrorMessage"] = ViewBag.Message;
                return(RedirectToAction("InternalServerError", "Error"));
            };
        }
示例#2
0
        public ActionResult Edit(int ID)
        {
            try
            {
                var requestEditViewModel = new RequestEditViewModel();
                if (ID > 0)
                {
                    REF_REQUEST_TB request = _uow.Repository <REF_REQUEST_TB>().GetById(ID);
                    requestEditViewModel.RequestID             = request.N_REQUEST_SYSID;
                    requestEditViewModel.SelectedLocationGroup = request.N_LOCATION_GROUP_SYSID;
                    requestEditViewModel.SelectedRequestGroup  = request.N_REQUEST_GROUP_SYSID;
                    requestEditViewModel.SelectedTestGroup     = request.N_TEST_GROUP_SYSID;
                    requestEditViewModel.LocationGroups        = (List <SelectListItem>)_locationRepo.GetLocationGroupsSelectList();
                    requestEditViewModel.RequestGroups         = (List <SelectListItem>)_requestRepo.GetRequestGroups();
                    requestEditViewModel.TestGroups            = (List <SelectListItem>)_testRepo.GetTestGroupsSelectList();
                }
                else
                {
                    requestEditViewModel.RequestID             = ID;
                    requestEditViewModel.SelectedLocationGroup = 0;
                    requestEditViewModel.SelectedRequestGroup  = 0;
                    requestEditViewModel.SelectedTestGroup     = 0;
                    requestEditViewModel.LocationGroups        = (List <SelectListItem>)_locationRepo.GetLocationGroupsSelectList();
                    requestEditViewModel.RequestGroups         = (List <SelectListItem>)_requestRepo.GetRequestGroups();
                    requestEditViewModel.TestGroups            = (List <SelectListItem>)_testRepo.GetTestGroupsSelectList();
                }

                return(View("Edit", requestEditViewModel));
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    ViewBag.Message = "Function: RequestController.Edit_GET\n\nError: " + ex.Message;
                }
                else
                {
                    ViewBag.Message = "Function: RequestController.Edit_GET\n\nError: " + (ex.Message + "\n\nInnerException: " + ex.InnerException.Message);
                };
                Session["ErrorMessage"] = ViewBag.Message;
                return(RedirectToAction("InternalServerError", "Error"));
            };
        }
示例#3
0
        public ActionResult Edit(RequestEditViewModel Model, bool IsTest = false)
        {
            bool saveFailed;

            do
            {
                saveFailed = false;
                try
                {
                    if (ModelState.IsValid)
                    {
                        int id = 0;
                        if (Model.RequestID == 0) //new
                        {
                            string         enteredBy = IsTest ? "Unit Test Case" : _modifiedBy;
                            REF_REQUEST_TB request   = new REF_REQUEST_TB()
                            {
                                B_INACTIVE             = false,
                                DT_ENTERED             = DateTime.UtcNow,
                                DT_MODIFIED            = DateTime.UtcNow,
                                N_LOCATION_GROUP_SYSID = Model.SelectedLocationGroup,
                                N_REQUEST_GROUP_SYSID  = Model.SelectedRequestGroup,
                                N_TEST_GROUP_SYSID     = Model.SelectedTestGroup,
                                SZ_ENTERED_BY          = enteredBy,
                                SZ_MODIFIED_BY         = _modifiedBy
                            };
                            _uow.Repository <REF_REQUEST_TB>().Add(request);
                            _uow.SaveChanges();
                            REF_REQUEST_TB requestFound = _uow.Repository <REF_REQUEST_TB>().Find(u => u.SZ_ENTERED_BY == enteredBy &&
                                                                                                  u.SZ_MODIFIED_BY == _modifiedBy && u.N_LOCATION_GROUP_SYSID == Model.SelectedLocationGroup &&
                                                                                                  u.N_REQUEST_GROUP_SYSID == Model.SelectedRequestGroup && u.N_TEST_GROUP_SYSID == Model.SelectedTestGroup
                                                                                                  ).FirstOrDefault();
                            id = requestFound.N_REQUEST_SYSID;
                        }
                        else //edit
                        {
                            REF_REQUEST_TB request = _uow.Repository <REF_REQUEST_TB>().GetById(Model.RequestID);
                            request.DT_MODIFIED            = DateTime.UtcNow;
                            request.N_LOCATION_GROUP_SYSID = Model.SelectedLocationGroup;
                            request.N_REQUEST_GROUP_SYSID  = Model.SelectedRequestGroup;
                            request.N_TEST_GROUP_SYSID     = Model.SelectedTestGroup;
                            request.SZ_MODIFIED_BY         = _modifiedBy;

                            _uow.Repository <REF_REQUEST_TB>().Update(request);
                            _uow.SaveChanges();
                            id = Model.RequestID;
                        }

                        return(RedirectToAction("Index", new { ID = id }));
                    }

                    Model.LocationGroups = (List <SelectListItem>)_locationRepo.GetLocationGroupsSelectList();
                    Model.RequestGroups  = (List <SelectListItem>)_requestRepo.GetRequestGroups();
                    Model.TestGroups     = (List <SelectListItem>)_testRepo.GetTestGroupsSelectList();

                    return(View(Model));
                }
                catch (DbEntityValidationException ex)
                {
                    StringBuilder sb = new StringBuilder();

                    foreach (var failure in ex.EntityValidationErrors)
                    {
                        sb.AppendFormat("{0} failed validation:\n\n", failure.Entry.Entity.GetType());
                        foreach (var error in failure.ValidationErrors)
                        {
                            sb.AppendFormat("- {0} : {1}", error.PropertyName, error.ErrorMessage);
                            sb.AppendLine();
                        }
                    }
                    if (ex.InnerException == null)
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message + "\n\n" + sb;
                    }
                    else
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message + "\n\n" + sb + "\n\n" + ex.InnerException.Message;
                    };
                }
                catch (DbUpdateConcurrencyException ex)
                {
                    saveFailed = true;

                    var entry = ex.Entries.Single();
                    entry.OriginalValues.SetValues(entry.GetDatabaseValues());
                }
                catch (DataException ex)
                {
                    if (ex.InnerException == null)
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message + "\n\nBaseException: " + ex.GetBaseException().Message;
                    }
                    else
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message + "\n\nBaseException: " + ex.GetBaseException().Message + "\n\nInnerException: " + ex.InnerException.Message;
                    };
                }
                catch (Exception ex)
                {
                    if (ex.InnerException == null)
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message;
                    }
                    else
                    {
                        ViewBag.Message = "Function: RequestController.Edit_POST\n\nError: " + ex.Message + "\n\nBaseException: " + ex.InnerException.Message;
                    };
                };
            } while (saveFailed);

            Session["ErrorMessage"] = ViewBag.Message;
            return(RedirectToAction("InternalServerError", "Error"));
        }