public ActionResult DefineTecnico(frmUsuariosDefineTecnico argTecnico) { var idUsuario = (int)Session["id_usuario"]; var definido = db.Usuarios.Where(u => u.id == idUsuario).Select(u => u.definido_b).FirstOrDefault(); if (definido == true) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { try { UsuariosTecnico clsUsuarioTecnico = new UsuariosTecnico(); Usuarios clsUsuario = new Usuarios(); clsUsuario = db.Usuarios.Where(u => u.id == idUsuario).FirstOrDefault(); clsUsuario.definido_b = true; clsUsuarioTecnico.Usuarios = clsUsuario; clsUsuarioTecnico.nombre_c = argTecnico.nombre_c; clsUsuarioTecnico.apellidos_c = argTecnico.apellidos_c; clsUsuarioTecnico.dni_c = argTecnico.dni_c; clsUsuarioTecnico.telefono_c = argTecnico.telefono_c; //clsUsuarioTecnico.usuario_xref = (int)Session["id_usuario"]; //Defino la subcategoría del usuario UsuariosTecnicosSubcategorias clsTecnicoSubcategoria = new UsuariosTecnicosSubcategorias(); clsTecnicoSubcategoria.experiencia_i = argTecnico.experiencia; clsTecnicoSubcategoria.UsuariosTiposSubcategorias = db.UsuariosTiposSubcategorias.Where(s => s.id == argTecnico.subcategoria).FirstOrDefault(); clsUsuarioTecnico.UsuariosTecnicosSubcategorias.Add(clsTecnicoSubcategoria); db.UsuariosTecnico.Add(clsUsuarioTecnico); //ATENCION !!! FALTAN DEFINIR LAS SUBCATEGORIAS DEL TECNICO, QUE PUEDEN SER MÁS DE UNA DESDE LA VISTA //clsUsuarioTecnico.Usuarios.UsuariosTecnicosSubcategorias = argTecnico.tipoProfesional_xref; db.SaveChanges(); return(Redirect("Index")); } catch (System.Data.Entity.Validation.DbEntityValidationException e) { Console.WriteLine("Error en la validacion: " + e); return(View()); } catch (HttpException e) { System.Console.Write(e); } } else { ModelState.AddModelError("", "Error en el registro, datos incorrectos"); TempData["ModelState"] = ModelState; return(Redirect("DefineUsuario")); } return(PartialView()); }
public PartialViewResult PerfilAddCategoria(int idSubcategoria, DateTime categoriaFechaIni, DateTime categoriaFechaFin) { int idUsuario = (int)Session["id_usuario"]; var usuario = db.Usuarios.Where(u => u.id == idUsuario).FirstOrDefault(); var clsSubcategoria = db.UsuariosTiposSubcategorias.Where(s => s.id == idSubcategoria).First(); UsuariosTecnicosSubcategorias clsTecnicoSubcategoria = new UsuariosTecnicosSubcategorias(); //Diferencia entre la fecha de inicio y la fecha de fin en dias TimeSpan diferenciaFechas = categoriaFechaFin - categoriaFechaIni; clsTecnicoSubcategoria.subcategoria_xref = clsSubcategoria.id; clsTecnicoSubcategoria.usuarioTecnico_xref = usuario.UsuariosTecnico.First().id; clsTecnicoSubcategoria.fechaIni_dt = categoriaFechaIni; clsTecnicoSubcategoria.fechaFin_dt = categoriaFechaFin; clsTecnicoSubcategoria.experiencia_i = diferenciaFechas.Days; usuario.UsuariosTecnico.First().UsuariosTecnicosSubcategorias.Add(clsTecnicoSubcategoria); db.SaveChanges(); var clsTipo = db.UsuariosTipos.Where(t => t.id == usuario.tipo_xref).FirstOrDefault(); return(PartialView("Partials/lstCompetencias", clsTipo)); }