public ActionResult Crear(Guid? TipoMovimientoID, bool? HaciaExposicion) { bool HaciaExposicionValor = HaciaExposicion == null || HaciaExposicion == false ? false : true; bool esOK = true; var listaMovAceptados = new List<string>() { "externo", "ingreso", "salida", "traslado" }; var tipoMov = db.TipoMovimientos.Find(TipoMovimientoID); esOK = tipoMov == null ? false : true; esOK = esOK ? listaMovAceptados.Any(a => a == tipoMov.Nombre.ToLower()) : false; List<string> listaCampos = new List<string>(); if (esOK) { int UltimoFolioMov = db.Movimientos.Select(a => a.FolioMovimiento).OrderByDescending(a => a).FirstOrDefault(); var mov = new Movimiento() { EstadoMovimiento = EstadoMovimiento.EnRegistro, FolioMovimiento = UltimoFolioMov + 1, HaciaExposicion = HaciaExposicionValor, TipoMovimiento = tipoMov, TipoMovimientoID = tipoMov.TipoMovimientoID, ColeccionTexto = "Museo Soumaya" }; listaCampos = getListaCamposMostrar(tipoMov.Nombre, EstadoMovimiento.EnRegistro); if (HaciaExposicionValor) { mov.MovimientoExposicion = new MovimientoExposicion(); listaCampos.Add("pestExpo"); } switch (tipoMov.Nombre.ToLower()) { case "externo": mov.MovimientoSolicitante = new MovimientoSolicitante(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); break; case "ingreso": mov.MovimientoSolicitante = new MovimientoSolicitante(); mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); mov.MovimientoTransporte = new MovimientoTransporte(); mov.MovimientoSeguro = new MovimientoSeguro(); break; case "salida": mov.MovimientoSolicitante = new MovimientoSolicitante(); mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); mov.MovimientoTransporte = new MovimientoTransporte(); mov.MovimientoSeguro = new MovimientoSeguro(); break; case "traslado": mov.MovimientoSolicitante = new MovimientoSolicitante(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); mov.MovimientoTransporte = new MovimientoTransporte(); break; default: //mov.MovimientoSolicitante = new MovimientoSolicitante(); //if (HaciaExposicion) // mov.MovimientoExposicion = new MovimientoExposicion(); //mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); //mov.MovimientoTransporte = new MovimientoTransporte(); //mov.MovimientoSeguro = new MovimientoSeguro(); esOK = false; break; } if (esOK) { mov.FechaRegistro = DateTime.Now; mov.FechaHoraMovimiento = DateTime.Now; if (HaciaExposicionValor) mov.MovimientoExposicion.FechaInicial = DateTime.Now; var listaUbicaciones = db.Ubicaciones.Where(a => a.Status).Select(a => new { a.Nombre, a.UbicacionID }).OrderBy(a => a.Nombre); var listaUsuarios = db.Usuarios.Where(a => a.Status).Select(a => new { Nombre = a.Nombre + " " + a.Apellido, a.UsuarioID }).OrderBy(a => a.Nombre); var tipoAttGuion = db.TipoAtributos.FirstOrDefault(a => a.Temp == "guion_clave"); var listaGuiones = tipoAttGuion.ListaValores.Where(a => a.Status).Select(a => new { Nombre = a.Valor, GuionID = a.ListaValorID }).OrderBy(a => a.Nombre); var listaLetras = db.LetraFolios.Select(a => new { a.LetraFolioID, Nombre = a.Nombre, a.Status }).Where(a => a.Status).OrderBy(a => a.Nombre); ViewBag.NombreMovimiento = tipoMov.Nombre.ToLower(); //ViewBag.MovimientoAutorizacion_Usuario1ID = new SelectList(listaUsuarios, "UsuarioID", "Nombre"); //ViewBag.MovimientoAutorizacion_Usuario2ID = new SelectList(listaUsuarios, "UsuarioID", "Nombre"); ViewBag.UbicacionDestinoID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre"); ViewBag.UbicacionOrigenID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre"); ViewBag.GuionID = new SelectList(listaGuiones, "GuionID", "Nombre"); ViewBag.LetraFolioID = new SelectList(listaLetras, "LetraFolioID", "Nombre", listaLetras.FirstOrDefault().LetraFolioID); ViewBag.listaCampos = listaCampos; Session["listaMov"] = new List<Guid>(); return PartialView("_Crear", mov); } } ViewBag.Mensaje = "Se encontro un error, solicite asistencia técnica."; return PartialView("_Error"); }
public ActionResult Crear(Movimiento mov) { //validar los campos: var listaGuidSessionPiezas = Session["listaMov"] == null ? new List<Guid>() : (List<Guid>)Session["listaMov"]; var listaMovimientoPiezas = new List<MovimientoPieza>(); bool todoOk = true; todoOk = (listaGuidSessionPiezas.Count == 0) ? false : true; if (todoOk) { //lista piezas var listaIDLLaves = Request.Form.AllKeys.Where(a => a.StartsWith("addPiezaID_")).ToList(); foreach (var keyID in listaIDLLaves) { var addOk = true; string valor = Request.Form[keyID]; addOk = String.IsNullOrWhiteSpace(valor) ? false : true; //validar el valorID, buscar el valor Guid valorID = addOk ? new Guid(valor) : new Guid(new Byte[16]); addOk = !addOk ? addOk : db.Piezas.Where(a => a.PiezaID == valorID).FirstOrDefault() == null ? false : true; if (addOk) { listaMovimientoPiezas.Add(new MovimientoPieza() { PiezaID = valorID, estaDisponible = false, }); } } } else { ModelState.AddModelError("", "Movimiento sin piezas"); } //validar fechas if (ModelState.IsValid) { //mov.MovientoID = Guid.NewGuid(); //var movNew = new Movimiento() //{ // ColeccionTexto = mov.ColeccionTexto, // EstadoMovimiento = mov.EstadoMovimiento, // FechaHoraMovimiento = mov.FechaHoraMovimiento, // FechaRegistro = mov.FechaRegistro, // FechaRet = mov.FechaRet, // FolioMovimiento = UltimoFolioMov + 1, // HaciaExposicion = mov.HaciaExposicion, // MovientoID = Guid.NewGuid(), // Observaciones = mov.Observaciones, // TipoMovimientoID = mov.TipoMovimientoID, // UbicacionDestinoID = mov.UbicacionDestinoID, // UbicacionOrigenID = mov.UbicacionOrigenID, //}; if (mov.MovimientoAutorizacion != null) { db.MovimientoAutorizaciones.Add(mov.MovimientoAutorizacion); db.SaveChanges(); mov.MovimientoAutorizacionID = mov.MovimientoAutorizacion.MovimientoAutorizacionID; } if (mov.MovimientoExposicion != null) { db.MovimientoExposiciones.Add(mov.MovimientoExposicion); db.SaveChanges(); mov.MovimientoExposicionID = mov.MovimientoExposicion.MovimientoExposicionID; } if (mov.MovimientoResponsable != null) { db.MovimientoResponsables.Add(mov.MovimientoResponsable); db.SaveChanges(); mov.MovimientoResponsableID = mov.MovimientoResponsable.MovimientoResponsableID; } if (mov.MovimientoSeguro != null) { db.MovimientoSeguros.Add(mov.MovimientoSeguro); db.SaveChanges(); mov.MovimientoSeguroID = mov.MovimientoSeguro.MovimientoSeguroID; } if (mov.MovimientoSolicitante != null) { db.MovimientoSolicitante.Add(mov.MovimientoSolicitante); db.SaveChanges(); mov.MovimientoSolicitanteID = mov.MovimientoSolicitante.MovimientoSolicitanteID; } if (mov.MovimientoTransporte != null) { db.MovimientoTransporte.Add(mov.MovimientoTransporte); db.SaveChanges(); mov.MovimientoTransporteID = mov.MovimientoTransporte.MovimientoTransporteID; } int UltimoFolioMov = db.Movimientos.Select(a => a.FolioMovimiento).OrderByDescending(a => a).FirstOrDefault(); mov.FolioMovimiento = UltimoFolioMov + 1; mov.MovientoID = Guid.NewGuid(); mov.EstadoMovimiento = EstadoMovimiento.EnAutorizacion1; db.Movimientos.Add(mov); db.SaveChanges(); //agregar las piezas foreach (var item in listaMovimientoPiezas) { item.MovimientoID = mov.MovientoID; item.estaDisponible = false; } db.MovimientoPiezas.AddRange(listaMovimientoPiezas); db.SaveChanges(); //return RedirectToAction("Index"); var url = Url.Action("Detalles", "Movimiento", new { id = mov.MovientoID }); return Json(new { success = true, url = url }); } //var success = false; bool HaciaExposicionValor = mov.HaciaExposicion; bool esOK = true; var listaMovAceptados = new List<string>() { "externo", "ingreso", "salida", "traslado" }; var tipoMov = db.TipoMovimientos.Find(mov.TipoMovimientoID); esOK = tipoMov == null ? false : true; esOK = esOK ? listaMovAceptados.Any(a => a == tipoMov.Nombre.ToLower()) : false; List<string> listaCampos = new List<string>(); int UltimoFolioMovc = db.Movimientos.Select(a => a.FolioMovimiento).OrderByDescending(a => a).FirstOrDefault(); mov.EstadoMovimiento = EstadoMovimiento.EnRegistro; mov.FolioMovimiento = UltimoFolioMovc + 1; mov.TipoMovimiento = tipoMov; mov.TipoMovimientoID = tipoMov.TipoMovimientoID; if (HaciaExposicionValor && mov.MovimientoExposicion == null) mov.MovimientoExposicion = new MovimientoExposicion(); listaCampos = getListaCamposMostrar(tipoMov.Nombre, EstadoMovimiento.EnRegistro); switch (tipoMov.Nombre.ToLower()) { case "externo": if (mov.MovimientoSolicitante == null) mov.MovimientoSolicitante = new MovimientoSolicitante(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); break; case "ingreso": if (mov.MovimientoSolicitante == null) mov.MovimientoSolicitante = new MovimientoSolicitante(); if (mov.MovimientoResponsable == null) mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); if (mov.MovimientoTransporte == null) mov.MovimientoTransporte = new MovimientoTransporte(); if (mov.MovimientoSeguro == null) mov.MovimientoSeguro = new MovimientoSeguro(); break; case "salida": if (mov.MovimientoSolicitante == null) mov.MovimientoSolicitante = new MovimientoSolicitante(); if (mov.MovimientoResponsable == null) mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); if (mov.MovimientoTransporte == null) mov.MovimientoTransporte = new MovimientoTransporte(); if (mov.MovimientoSeguro == null) mov.MovimientoSeguro = new MovimientoSeguro(); break; case "traslado": if (mov.MovimientoSolicitante == null) mov.MovimientoSolicitante = new MovimientoSolicitante(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); if (mov.MovimientoTransporte == null) mov.MovimientoTransporte = new MovimientoTransporte(); break; default: //mov.MovimientoSolicitante = new MovimientoSolicitante(); //if (HaciaExposicion) // mov.MovimientoExposicion = new MovimientoExposicion(); //mov.MovimientoResponsable = new MovimientoResponsable(); //mov.MovimientoAutorizacion = new MovimientoAutorizacion(); //mov.MovimientoTransporte = new MovimientoTransporte(); //mov.MovimientoSeguro = new MovimientoSeguro(); esOK = false; break; } if (esOK) { mov.FechaRegistro = DateTime.Now; //mov.FechaHoraMovimiento = DateTime.Now; var listaUbicaciones = db.Ubicaciones.Where(a => a.Status).Select(a => new { a.Nombre, a.UbicacionID }).OrderBy(a => a.Nombre); var listaUsuarios = db.Usuarios.Where(a => a.Status).Select(a => new { Nombre = a.Nombre + " " + a.Apellido, a.UsuarioID }).OrderBy(a => a.Nombre); var tipoAttGuion = db.TipoAtributos.FirstOrDefault(a => a.Temp == "guion_clave"); var listaGuiones = tipoAttGuion.ListaValores.Where(a => a.Status).Select(a => new { Nombre = a.Valor, GuionID = a.ListaValorID }).OrderBy(a => a.Nombre); var listaLetras = db.LetraFolios.Select(a => new { a.LetraFolioID, Nombre = a.Nombre, a.Status }).Where(a => a.Status).OrderBy(a => a.Nombre); ViewBag.NombreMovimiento = tipoMov.Nombre.ToLower(); //ViewBag.MovimientoAutorizacion_Usuario1ID = new SelectList(listaUsuarios, "UsuarioID", "Nombre"); //ViewBag.MovimientoAutorizacion_Usuario2ID = new SelectList(listaUsuarios, "UsuarioID", "Nombre"); ViewBag.UbicacionDestinoID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre", mov.UbicacionDestinoID); ViewBag.UbicacionOrigenID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre", mov.UbicacionOrigenID); ViewBag.GuionID = new SelectList(listaGuiones, "GuionID", "Nombre"); ViewBag.LetraFolioID = new SelectList(listaLetras, "LetraFolioID", "Nombre", listaLetras.FirstOrDefault().LetraFolioID); ViewBag.listaCampos = listaCampos; } return PartialView("_Crear", mov); }
public ActionResult Index() { ViewBag.TipoMovimientoID = new SelectList(db.TipoMovimientos, "TipoMovimientoID", "Nombre"); var mov = new Movimiento() { HaciaExposicion = false, FechaHoraMovimiento = DateTime.Now }; var listaUbicaciones = db.Ubicaciones.Where(a => a.Status).Select(a => new { a.Nombre, a.UbicacionID }).OrderBy(a => a.Nombre); ViewBag.UbicacionDestinoID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre"); ViewBag.UbicacionOrigenID = new SelectList(listaUbicaciones, "UbicacionID", "Nombre"); return View(mov); }