public ActionResult Delete(string ID)
        {
            try
            {
                REF_LOCATION_TYPE_TB     waterShed = _uow.Repository <REF_LOCATION_TYPE_TB>().GetById(Convert.ToInt32(ID));
                WaterShedDeleteViewModel waterShedDeleteViewModel = new WaterShedDeleteViewModel()
                {
                    WaterShedID            = waterShed.N_LOCATION_TYPE_SYSID,
                    WaterShedDescription   = waterShed.SZ_DESCRIPTION,
                    MessageDescription     = "",
                    ShowMessageDescription = false
                };

                return(View(waterShedDeleteViewModel));
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    ViewBag.Message = "Function: WaterShedController.Delete_GET\n\nError: " + ex.Message;
                }
                else
                {
                    ViewBag.Message = "Function: WaterShedController.Delete_GET\n\nError: " + (ex.Message + "\n\nInnerException: " + ex.InnerException.Message);
                };
                Session["ErrorMessage"] = ViewBag.Message;
                return(RedirectToAction("InternalServerError", "Error"));
            };
        }
        public ActionResult Edit(WaterShedEditViewModel Model)
        {
            if (_waterShedRepo.IsWaterShedDescriptionDuplicate(Model.WaterShedDescription))
            {
                Model.ShowMessageDescription = true;
                Model.MessageDescription     = "The Water Shed Description already exists. Please enter a different one.";

                return(View(Model));
            }
            else
            {
                if (ModelState.IsValid)
                {
                    int id = 0;
                    if (Model.WaterShedID == 0) //new
                    {
                        int waterShedID = _waterShedRepo.GetNextWaterShedID();
                        REF_LOCATION_TYPE_TB waterShed = new REF_LOCATION_TYPE_TB()
                        {
                            B_INACTIVE     = false,
                            DT_ENTERED     = DateTime.UtcNow,
                            DT_MODIFIED    = DateTime.UtcNow,
                            SZ_DESCRIPTION = Model.WaterShedDescription,
                            SZ_ENTERED_BY  = _modifiedBy,
                            SZ_MODIFIED_BY = _modifiedBy
                        };
                        _uow.Repository <REF_LOCATION_TYPE_TB>().Add(waterShed);
                        _uow.SaveChanges();
                        REF_LOCATION_TYPE_TB waterShedFound = _uow.Repository <REF_LOCATION_TYPE_TB>().Find(u => u.SZ_ENTERED_BY == _modifiedBy &&
                                                                                                            u.SZ_MODIFIED_BY == _modifiedBy && u.SZ_DESCRIPTION == Model.WaterShedDescription
                                                                                                            ).FirstOrDefault();
                        id = waterShedFound.N_LOCATION_TYPE_SYSID;
                    }
                    else //edit
                    {
                        REF_LOCATION_TYPE_TB waterShed = _uow.Repository <REF_LOCATION_TYPE_TB>().GetById(Model.WaterShedID);
                        waterShed.SZ_MODIFIED_BY = _modifiedBy;
                        waterShed.DT_MODIFIED    = DateTime.UtcNow;
                        waterShed.SZ_DESCRIPTION = Model.WaterShedDescription;

                        _uow.Repository <REF_LOCATION_TYPE_TB>().Update(waterShed);
                        _uow.SaveChanges();
                        id = Model.WaterShedID;
                    }

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

            return(View(Model));
        }
        public ViewResult Edit(int ID)
        {
            var waterShedEditViewModel = new WaterShedEditViewModel();

            if (ID > 0)
            {
                REF_LOCATION_TYPE_TB waterShed = _uow.Repository <REF_LOCATION_TYPE_TB>().GetById(ID);
                waterShedEditViewModel.WaterShedDescription   = waterShed.SZ_DESCRIPTION == null ? "" : waterShed.SZ_DESCRIPTION;
                waterShedEditViewModel.WaterShedID            = waterShed.N_LOCATION_TYPE_SYSID;
                waterShedEditViewModel.ShowMessageDescription = false;
                waterShedEditViewModel.MessageDescription     = "";
            }
            else
            {
                waterShedEditViewModel.WaterShedDescription   = "";
                waterShedEditViewModel.WaterShedID            = ID;
                waterShedEditViewModel.ShowMessageDescription = false;
                waterShedEditViewModel.MessageDescription     = "";
            }

            return(View("Edit", waterShedEditViewModel));
        }