private static void Validate(ref HomeInsertEmployeeParam param, ref ModelStateDictionary ms) { if (param.Mobile.Length != 11) { ms.AddModelError("Mobile", "Mobile number must be 11 digits"); } if (!param.Mobile.StartsWith("09")) { ms.AddModelError("Mobile", "Mobile phone number must start with 09"); } }
public HttpResponseMessage InsertEmployee(HomeInsertEmployeeParam param) { try { JsonContent validationResult; if (!param.ValidateParam(ModelState, out validationResult)) { return(new HttpResponseMessage() { Content = validationResult }); } HomeInsertEmployeeParam.InsertEmployee(ref _api, ref param); return(new HttpResponseMessage() { Content = new StringContent( JsonConvert.SerializeObject(new FrontEndResponseModel() { Status = 200, Description = string.Format("{0} has been added!", param.FullName), Url = Url.Content("~/") }), Encoding.UTF8, "application/json") }); } catch (Exception ex) { var exh = new ExceptionHelper(ref ex, true); return(new HttpResponseMessage() { Content = new StringContent( JsonConvert.SerializeObject(new FrontEndResponseModel() { Status = 500, Description = exh.Message }), Encoding.UTF8, "application/json") }); } }
public static bool ValidateParam <T>(this T obj, ModelStateDictionary ms, out JsonContent result) { if (ms.IsValid) { var objType = typeof(T); if (objType == typeof(HomeUpdateEmployeeParam)) { HomeUpdateEmployeeParam param = (HomeUpdateEmployeeParam)Convert.ChangeType(obj, typeof(HomeUpdateEmployeeParam)); Validate(ref param, ref ms); } if (objType == typeof(HomeInsertEmployeeParam)) { HomeInsertEmployeeParam param = (HomeInsertEmployeeParam)Convert.ChangeType(obj, typeof(HomeInsertEmployeeParam)); Validate(ref param, ref ms); } result = ms.JsonValidation(); if (ms.IsValid) { return(true); } else { return(false); } } else { result = ms.JsonValidation(); return(false); } }
public static int InsertEmployee(ref SimpleCrudContext api, ref HomeInsertEmployeeParam param) { param = param.TrimAll(); return(api.InsertEmployee(param.FullName, param.Position, param.EmpCode, param.Mobile)); }