public ActionResult AddUserDetails(UsersModel userMl, string command)
        {
            StringBuilder objStringBuilderError = new StringBuilder();
            try
            {
                if (Session["UserName"] != null && string.Equals(command, JetstreamResource.AddCommand))
                {
                    if (!string.IsNullOrEmpty(userMl.PassRFID))
                    {
                        bool isValid = IsHex(userMl.PassRFID);
                        if (!isValid || userMl.PassRFID.Length != 10)
                        {
                            Warning(JetstreamResource.PassRfIdHexadecimalValidationMessage, true);
                            return RedirectToAction("RedirectToAddUser", new RouteValueDictionary(userMl));
                        }
                    }

                    var duplicateDevice = CheckForDuplicate(userMl);
                    if (duplicateDevice > 0)
                    {
                        if (duplicateDevice == 1)
                        {
                            Warning(JetstreamResource.UserDuplicatePassRfIdMessage, true);
                        }
                        if (duplicateDevice == 2)
                        {
                            Warning(JetstreamResource.UserDuplicateEmailMessage, true);
                        }
                        return RedirectToAction("RedirectToAddUser", new RouteValueDictionary(userMl));
                    }
                    else
                    {
                        if (ModelState.IsValid)
                        {
                            int result;
                            using (JetstreamClient objMainServiceClient = new JetstreamClient())
                            {
                                result = objMainServiceClient.SaveUserDetails(userMl);
                            }
                            if (result > 0)
                            {
                                UpdatePasses(userMl);
                            }

                            Email.SendEmail(userMl, JetstreamResource.SetupPasswordDisplayName, JetstreamResource.SetupPasswordSubject,
                                string.Format(JetstreamResource.SetupPasswordMessage, userMl.FirstName, userMl.LastName,
                                  Url.Action(JetstreamResource.SetupPasswordCommand, JetstreamResource.LoginCommand,
                                    new
                                    {
                                        userIdEncode = CryptoManager.Encrypt(result.ToString(), true),
                                        strKey = JetstreamResource.SetupPasswordCommand
                                    }, "Http")));
                            Success(string.Format(JetstreamResource.UserSaveMessage, userMl.FirstName, userMl.LastName), true);
                            return RedirectToAction("GetUserDetails");
                        }
                        else
                        {
                            return RedirectToAction("RedirectToAddUser", new RouteValueDictionary(userMl));
                        }
                    }
                }
                else if (Session["UserName"] != null && command == "Cancel")
                {
                    return RedirectToAction("GetUserDetails");
                }
                else
                {
                    return RedirectToAction("UserLogin", "Login");
                }
            }
            catch (FaultException<ServiceData> fex)
            {
                objStringBuilderError.AppendLine("In method : AddUserDetails(UsersModel userMl, string command) :: 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 : AddUserDetails(UsersModel userMl, string command) :: 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");
            }
        }