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));
        }