/// <summary> /// Update User Detail /// </summary> /// <param name="userDetail"></param> /// <returns></returns> public ActionResult UpdateUserDetail(UsersModel userDetail) { StringBuilder objStringBuilderError = new StringBuilder(); try { if (Session["UserName"] != null) { if (!string.IsNullOrEmpty(userDetail.PassRFID)) { bool isValid = IsHex(userDetail.PassRFID); if (!isValid || userDetail.PassRFID.Length != 10) { Warning(JetstreamResource.PassRfIdHexadecimalValidationMessage, true); return RedirectToAction("RedirectToEditUser", new RouteValueDictionary(userDetail)); } } var duplicateDevice = CheckForDuplicate(userDetail); if (duplicateDevice > 0) { if (duplicateDevice == 1) { Warning(JetstreamResource.UserDuplicatePassRfIdMessage, true); } if (duplicateDevice == 2) { Warning(JetstreamResource.UserDuplicateEmailMessage, true); } return RedirectToAction("RedirectToEditUser", new RouteValueDictionary(userDetail)); } else { if (ModelState.IsValid) { int result; using (JetstreamClient objMainServiceClient = new JetstreamClient()) { result = objMainServiceClient.UpdateUserDetails(userDetail); } if (result > 0) { UpdatePasses(userDetail); Session["UserId"] = result; } Success(JetstreamResource.UserUpdateMessage, true); return RedirectToAction("GetUserDetails"); } else { return RedirectToAction("RedirectToEditUser", new RouteValueDictionary(userDetail)); } } } else { return RedirectToAction("UserLogin", "Login"); } } catch (FaultException<ServiceData> fex) { objStringBuilderError.AppendLine("In method : UpdateUserDetail(UsersModel userDetail) :: UserController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", fex.Detail.ErrorMessage, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, fex.Detail.ErrorDetails); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } catch (Exception ex) { objStringBuilderError.AppendLine("In method : UpdateUserDetail(UsersModel userDetail) :: UserController"); objStringBuilderError.AppendFormat("ErrorMessage::{0} {1}", ex.Message, Environment.NewLine); objStringBuilderError.AppendFormat("ErrorDetails::{0} {1}", Environment.NewLine, ex.ToString()); SaveLogger.SaveLoggerError(objStringBuilderError.ToString()); return View("Error"); } }