public CityViewModel ModifyCity(CityDE mod)
        {
            CityViewModel model = new CityViewModel();

            try
            {
                DBOperations op = mod.IsActive ? DBOperations.Update : DBOperations.Delete;
                mod.SiteCode = AppConstants.SITE_CODE;
                model.City = mod;
                model.IsValid = model.Validate();
                if (model.IsValid)
                {
                    _bdmSvc.ModifyCity(mod);

                    model.FieldId = "cityCode";
                    model.City = new CityDE();
                    model.Regions = _bdmSvc.GetAllRegions(AppConstants.SITE_CODE);
                    model.Cities = _bdmSvc.GetViewOfAllCities(AppConstants.SITE_CODE);
                    model.Message = op == DBOperations.Update ? string.Format(AppConstants.CRUD_UPDATE, "City") : string.Format(AppConstants.CRUD_DELETE, "City");
                }
            }
            catch (Exception ex)
            {
                model.IsValid = false;
                model.Message = ex.Message;
                if (ex.Message.Contains("Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=472540 for information on understanding and handling optimistic concurrency exceptions."))
                    model.Message = "Unable to modify Region Code";
            }
            return model;
        }
        public CityViewModel AddCity(CityViewModel model)
        {
            try
            {
                model.IsValid = model.Validate();
                if (model.IsValid)
                {
                    if (_bdmSvc.CityCodeExists(AppConstants.SITE_CODE, model.City.CityCode))
                    {
                        model.FieldId = "cityCode";
                        model.Message = string.Format(AppConstants.VALIDATION_ALREADY_EXISTS, "City Code");
                        model.IsValid = false;
                    }

                    if (model.IsValid)
                    {
                        model.City.SiteCode = AppConstants.SITE_CODE;
                        _bdmSvc.AddCity(model.City);

                        model.FieldId = "cityCode";
                        model.City = new CityDE();
                        model.Regions = _bdmSvc.GetAllRegions(AppConstants.SITE_CODE);
                        model.Cities = _bdmSvc.GetViewOfAllCities(AppConstants.SITE_CODE);
                        model.Message = string.Format(AppConstants.CRUD_CREATE, "City");
                    }
                }
            }
            catch (Exception ex)
            {
                model.IsValid = false;
                model.Message = ex.Message;
            }

            return model;
        }