public ActionResult Crear(MantenimientoPreventivoViewModel model, FormCollection collection)
        {
            var pdfUrl           = "";
            var pdfUrlevaluacion = "";
            var Url = "";

            //if (model.Descripcion == null)
            //{ model.Descripcion = "null"; }

            //if (model.PersonaJuridica == null)
            //{
            //    model.PersonaJuridica = "null";
            //}

            //if (model.NombreDocumento == null)
            //{
            //    model.NombreDocumento = "null";
            //}
            //if (model.Tecnico == null)
            //{
            //    model.Tecnico = "null";
            //}
            //if (model.EquiposAtendidos == null)
            //{
            //    model.EquiposAtendidos = "null";
            //}
            //if (model.StatusMantenimiento == null)
            //{
            //    model.StatusMantenimiento = "NO ATENDIDO";
            //}
            //if (model.HoraLlegada == null)
            //{
            //    model.HoraLlegada = "null";
            //}
            //if (model.HoraSalida == null)
            //{
            //    model.HoraSalida = "null";
            //}
            //if (pdfUrl == null)
            //{
            //    pdfUrl = "null";
            //}
            //if (pdfUrlevaluacion == null)
            //{
            //    pdfUrlevaluacion = "null";
            //}


            /*
             * var idventa = TempData["IDVENTA"];
             * TempData["venta"] = idventa;
             */
            var venta = _ventasManager.Find(Convert.ToInt32(TempData["venta"]));

            TempData.Keep();
            var obra = _obrasManager.Find(venta.IdObra);

            if (obra != null)
            {
                ViewBag.Equipo_Tipo =
                    new SelectList(_fallasManager.FindEquiposPorObra(obra.Id), "nombre", "nombre");
            }
            else
            {
                ViewBag.Equipo_Tipo =
                    new SelectList(_fallasManager.FindEquipos(), "nombre", "nombre");
            }


            ViewBag.StatusMantenimiento =
                new SelectList(new[] { new { ID = "Culminado", Name = "Culminado" }, new { ID = "No culminado", Name = "No culminado" }, }, "ID", "Name", 1);

            // if (!ModelState.IsValid) return View(model);

            try
            {
                HttpPostedFileBase pdf           = Request.Files["Pdf"];
                HttpPostedFileBase pdfevaluacion = Request.Files["Pdf-evaluacion"];

                if (pdf != null && pdf.ContentLength > 0)
                {
                    pdfUrl = CargarPdf(pdf);
                }
                else
                {
                    pdfUrl = "";
                }

                if (pdfevaluacion != null && pdfevaluacion.ContentLength > 0)
                {
                    pdfUrlevaluacion = CargarPdf(pdfevaluacion);
                }
                else
                {
                    pdfUrlevaluacion = "";
                }

                //mantenimientopreventivo mp = _mantenimientospreventivosManager.Crear(Convert.ToInt32(TempData["venta"]),
                //       model.Tipo,
                //      model.Descripcion,
                //      model.PersonaJuridica,
                //      model.FechaVisita,
                //      model.FechaPublicacion,
                //      model.NombreDocumento,
                //      model.Tecnico,
                //      model.EquiposAtendidos,
                //      model.StatusMantenimiento,
                //      pdfUrl.Trim(),
                //      pdfUrlevaluacion.Trim(),
                //      model.HoraLlegada,
                //      model.HoraSalida);


                DateTime?fechavisita       = null;
                DateTime?fechapublicacion  = null;
                mantenimientopreventivo mp = new mantenimientopreventivo();
                if (model.FechaVisita != null && model.FechaPublicacion == null)
                {
                    mp = _mantenimientospreventivosManager.Crear(Convert.ToInt32(TempData["venta"]),
                                                                 model.Tipo,
                                                                 model.Descripcion,
                                                                 model.PersonaJuridica,
                                                                 DateTime.Parse(model.FechaVisita),
                                                                 fechapublicacion,
                                                                 model.NombreDocumento,
                                                                 model.Tecnico,
                                                                 model.EquiposAtendidos,
                                                                 model.StatusMantenimiento,
                                                                 pdfUrl.Trim(),
                                                                 pdfUrlevaluacion.Trim(),
                                                                 model.HoraLlegada,
                                                                 model.HoraSalida);
                }
                if (model.FechaVisita == null && model.FechaPublicacion != null)
                {
                    mp = _mantenimientospreventivosManager.Crear(Convert.ToInt32(TempData["venta"]),
                                                                 model.Tipo,
                                                                 model.Descripcion,
                                                                 model.PersonaJuridica,
                                                                 fechavisita,
                                                                 DateTime.Parse(model.FechaPublicacion),
                                                                 model.NombreDocumento,
                                                                 model.Tecnico,
                                                                 model.EquiposAtendidos,
                                                                 model.StatusMantenimiento,
                                                                 pdfUrl.Trim(),
                                                                 pdfUrlevaluacion.Trim(),
                                                                 model.HoraLlegada,
                                                                 model.HoraSalida);
                }
                if (model.FechaVisita == null && model.FechaPublicacion == null)
                {
                    mp = _mantenimientospreventivosManager.Crear(Convert.ToInt32(TempData["venta"]),
                                                                 model.Tipo,
                                                                 model.Descripcion,
                                                                 model.PersonaJuridica,
                                                                 fechavisita,
                                                                 fechapublicacion,
                                                                 model.NombreDocumento,
                                                                 model.Tecnico,
                                                                 model.EquiposAtendidos,
                                                                 model.StatusMantenimiento,
                                                                 pdfUrl.Trim(),
                                                                 pdfUrlevaluacion.Trim(),
                                                                 model.HoraLlegada,
                                                                 model.HoraSalida);
                }
                if (model.FechaVisita != null && model.FechaPublicacion != null)
                {
                    mp = _mantenimientospreventivosManager.Crear(Convert.ToInt32(TempData["venta"]),
                                                                 model.Tipo,
                                                                 model.Descripcion,
                                                                 model.PersonaJuridica,
                                                                 DateTime.Parse(model.FechaVisita),
                                                                 DateTime.Parse(model.FechaPublicacion),
                                                                 model.NombreDocumento,
                                                                 model.Tecnico,
                                                                 model.EquiposAtendidos,
                                                                 model.StatusMantenimiento,
                                                                 pdfUrl.Trim(),
                                                                 pdfUrlevaluacion.Trim(),
                                                                 model.HoraLlegada,
                                                                 model.HoraSalida);
                }

                TempData.Keep();

                HttpPostedFileBase file;

                for (int i = 0; i < Request.Files.Count; i++)
                {
                    file = Request.Files[i];
                    var d = Request.Files.AllKeys[i].ToString();

                    if (d == "Pdf-evaluacion" && file.FileName != "")
                    {
                        Url = CargarPdf(file);
                        _obrasManager.AgregarArchivos(mp.Id, Url, "mantenimientopreventivo", "evaluacion");
                    }
                    if (d == "Pdf" && file.FileName != "")
                    {
                        Url = CargarPdf(file);
                        _obrasManager.AgregarArchivos(mp.Id, Url, "mantenimientopreventivo", "archivo");
                    }
                }

                TempData["FlashSuccess"] = MensajesResource.INFO_MantenimientosPreventivos_CreadoCorrectamente;
                return(RedirectToAction("Index", "AdministrarMantenimientosPreventivos", new { @id = TempData["venta"] }));
                // return RedirectToAction("Index");
            }
            catch (BusinessException businessEx)
            {
                ModelState.AddModelError(string.Empty, businessEx.Message);

                return(View(model));
            }
            catch (Exception e)
            {
                var log = CommonManager.BuildMessageLog(
                    TipoMensaje.Error,
                    ControllerContext.Controller.ValueProvider.GetValue("controller").RawValue.ToString(),
                    ControllerContext.Controller.ValueProvider.GetValue("action").RawValue.ToString(),
                    e.ToString(), Request);

                CommonManager.WriteAppLog(log, TipoMensaje.Error);

                ModelState.AddModelError(string.Empty, e.Message);
                return(View(model));
            }
        }
        public ActionResult Detalle(int id)
        {
            var mantenimientopreventivo = _mantenimientospreventivosManager.Find(id);


            //if (mantenimientopreventivo.Descripcion == null)
            //{
            //    mantenimientopreventivo.Descripcion = "null";
            //}
            //if (mantenimientopreventivo.Tipo == null)
            //{
            //    mantenimientopreventivo.Tipo = "null";
            //}
            //if (mantenimientopreventivo.NombreDocumento == null)
            //{
            //    mantenimientopreventivo.NombreDocumento = "null";
            //}
            //if (mantenimientopreventivo.Tecnico == null)
            //{
            //    mantenimientopreventivo.Tecnico = "null";
            //}
            //if (mantenimientopreventivo.EquiposAtendidos == null)
            //{
            //    mantenimientopreventivo.EquiposAtendidos = "null";
            //}
            //if (mantenimientopreventivo.StatusMantenimiento == null)
            //{
            //    mantenimientopreventivo.StatusMantenimiento = "null";
            //}
            //if (mantenimientopreventivo.Archivo == null)
            //{
            //    mantenimientopreventivo.Archivo = "null";
            //}
            //if (mantenimientopreventivo.Evaluacion == null)
            //{
            //    mantenimientopreventivo.Evaluacion = "null";
            //}
            //if (mantenimientopreventivo.HoraLlegada == null)
            //{
            //    mantenimientopreventivo.HoraLlegada = "null";
            //}
            //if (mantenimientopreventivo.HoraSalida == null)
            //{
            //    mantenimientopreventivo.HoraSalida = "null";
            //}

            //FechaVisita = mantenimientopreventivo.FechaVisita.ToString(),
            // FechaPublicacion = mantenimientopreventivo.FechaPublicacion.ToString(),


            var venta = _ventasManager.Find(mantenimientopreventivo.IdVenta);
            var obra  = _obrasManager.Find(venta.IdObra);

            ViewBag.StatusMantenimiento2 =
                new SelectList(new[] { new { ID = "Culminado", Name = "Culminado" }, new { ID = "No culminado", Name = "No culminado" }, }, "ID", "Name", mantenimientopreventivo.StatusMantenimiento);

            ViewBag.Equipo_Tipo =
                new SelectList(_fallasManager.FindEquiposPorObra(obra.Id), "nombre", "nombre", mantenimientopreventivo.Tipo);

            ViewBag.Evaluaciones = _obrasManager.FindArchivos(id, "evaluacion", "mantenimientopreventivo");
            ViewBag.Archivos     = _obrasManager.FindArchivos(id, "archivo", "mantenimientopreventivo");

            if (mantenimientopreventivo == null)
            {
                // TempData["FlashError"] = MensajesResource.ERROR_MensajesInstitucionales_IdIncorrecto;
                return(RedirectToAction("Index"));
            }

            var matenimientopreventivoModel = new MantenimientoPreventivoViewModel()
            {
                Tipo             = mantenimientopreventivo.Tipo,
                Descripcion      = mantenimientopreventivo.Descripcion,
                PersonaJuridica  = mantenimientopreventivo.PersonaJuridica,
                FechaVisita      = mantenimientopreventivo.FechaVisita.ToString(),
                FechaPublicacion = mantenimientopreventivo.FechaPublicacion.ToString(),
                NombreDocumento  = mantenimientopreventivo.NombreDocumento,
                Tecnico          = mantenimientopreventivo.Tecnico,
                EquiposAtendidos = mantenimientopreventivo.EquiposAtendidos,
                //StatusMantenimiento = mantenimientopreventivo.StatusMantenimiento,
                Archivo     = mantenimientopreventivo.Archivo,
                Evaluacion  = mantenimientopreventivo.Evaluacion,
                HoraLlegada = mantenimientopreventivo.HoraLlegada,
                HoraSalida  = mantenimientopreventivo.HoraSalida,
            };

            return(View(matenimientopreventivoModel));
        }