public ActionResult Create([Bind(Include = "usu_NombreUsuario,usu_Nombres,usu_Apellidos,usu_Correo,ConfirmarPassword,suc_Id, emp_Id,usu_EsAdministrador")] tbUsuario tbUsuario, string usu_Password) { ViewBag.Empleado = db.SDP_tbEmpleado_Select().ToList(); ViewBag.Sucursal = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion"); if (db.tbUsuario.Any(a => a.usu_NombreUsuario == tbUsuario.usu_NombreUsuario)) { ModelState.AddModelError("", "Ya existe un Usuario con ese nombre de usuario"); } IEnumerable <object> List = null; IEnumerable <object> Roles = null; var listRoles = (List <tbRolesUsuario>)Session["tbRolesUsuario"]; var MsjError = "0"; var MsjErrorRoles = "0"; ModelState.Remove("usu_Password"); if (ModelState.IsValid) { using (TransactionScope _Tran = new TransactionScope()) { try { List = db.UDP_Acce_tbUsuario_Insert(tbUsuario.usu_NombreUsuario, tbUsuario.ConfirmarPassword, tbUsuario.usu_Nombres, tbUsuario.usu_Apellidos, tbUsuario.usu_Correo, true, tbUsuario.usu_EsAdministrador, tbUsuario.suc_Id, (short)tbUsuario.emp_Id); foreach (UDP_Acce_tbUsuario_Insert_Result Usuario in List) { MsjError = Usuario.MensajeError; } if (MsjError.StartsWith("-1")) { ViewBag.Empleado = db.SDP_tbEmpleado_Select().ToList(); ViewBag.Sucursal = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion"); ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador"); return(View(tbUsuario)); } else { if (listRoles != null) { if (listRoles.Count > 0) { foreach (tbRolesUsuario URoles in listRoles) { Roles = db.UDP_Acce_tbRolesUsuario_Insert(Convert.ToInt32(MsjError), URoles.rol_Id, Function.GetUser(), Function.DatetimeNow()); foreach (UDP_Acce_tbRolesUsuario_Insert_Result Resultado in Roles) { MsjErrorRoles = Resultado.MensajeError; } if (MsjError.StartsWith("-1")) { ViewBag.Empleado = db.SDP_tbEmpleado_Select().ToList(); ViewBag.Sucursal = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion"); ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador"); return(View(tbUsuario)); } } } } } _Tran.Complete(); return(RedirectToAction("Index")); } catch (Exception Ex) { Ex.Message.ToString(); ViewBag.Empleado = db.SDP_tbEmpleado_Select().ToList(); ViewBag.Sucursal = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion"); ModelState.AddModelError("", "No se guardó el registro , contacte al Administrador"); return(View(tbUsuario)); } } } else { ModelState.AddModelError("ConfirmarPassword", "El campo Password es requerido"); ModelState.AddModelError("usu_Password", "El campo Password es requerido"); ViewBag.Empleado = db.SDP_tbEmpleado_Select().ToList(); ViewBag.Sucursal = new SelectList(db.tbSucursales, "suc_Id", "suc_Descripcion"); } return(View(tbUsuario)); }