Пример #1
0
        public ActionResult DeleteConfirmed(string id)
        {
            VISITA vISITA = db.VISITA.Find(id);

            db.VISITA.Remove(vISITA);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
 public ActionResult Edit([Bind(Include = "MOTIVO_VISITA,FECHA_VISITA,HORA_ENTRADA,HORA_SALIDA,NOMBRE_COMPLETO,CONTACTO_RECIBIO")] VISITA vISITA)
 {
     if (ModelState.IsValid)
     {
         db.Entry(vISITA).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(vISITA));
 }
Пример #3
0
        public ActionResult Create([Bind(Include = "MOTIVO_VISITA,FECHA_VISITA,HORA_ENTRADA,HORA_SALIDA,NOMBRE_COMPLETO,CONTACTO_RECIBIO")] VISITA vISITA)
        {
            if (ModelState.IsValid)
            {
                db.VISITA.Add(vISITA);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(vISITA));
        }
Пример #4
0
 public ActionResult Edit([Bind(Include = "ID,ContactoDeVisita,NombreCompleto,Motivo,Fecha,HoraEntrada,HoraSalida")] VISITA vISITA)
 {
     if (ModelState.IsValid)
     {
         db.Entry(vISITA).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ContactoDeVisita = new SelectList(db.CONTACTOS, "ID", "CEDULA", vISITA.ContactoDeVisita);
     return(View(vISITA));
 }
Пример #5
0
        // GET: VISITAs/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VISITA vISITA = db.VISITA.Find(id);

            if (vISITA == null)
            {
                return(HttpNotFound());
            }
            return(View(vISITA));
        }
Пример #6
0
 public bool Read()
 {
     try
     {
         VISITA visita = CommonBC.DBConexion.VISITA.First(v => v.ID == this.Id);
         this.Fecha   = (DateTime)visita.FECHA;
         this.Usuario = visita.USUARIO;
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #7
0
        public bool Delete()
        {
            try
            {
                VISITA visita = CommonBC.DBConexion.VISITA.First(v => v.ID == this.Id);
                CommonBC.DBConexion.VISITA.Remove(visita);
                CommonBC.DBConexion.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #8
0
        // GET: VISITAS/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            VISITA vISITA = db.VISITA.Find(id);

            if (vISITA == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ContactoDeVisita = new SelectList(db.CONTACTOS, "ID", "CEDULA", vISITA.ContactoDeVisita);
            return(View(vISITA));
        }
Пример #9
0
        public bool Update()
        {
            try
            {
                VISITA visita = CommonBC.DBConexion.VISITA.First(v => v.ID == this.Id);
                visita.FECHA   = this.Fecha;
                visita.USUARIO = this.Usuario;
                CommonBC.DBConexion.Entry(visita).State = System.Data.EntityState.Modified;
                CommonBC.DBConexion.SaveChanges();

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #10
0
        public ActionResult Detalle(int id)
        {
            SOLICITUD solicitud = db.SOLICITUDs.Find(id);

            Dictionary <string, List <string> > analisisPorEmpleado = new Dictionary <string, List <string> >();

            foreach (DETALLE_SOLICITUD detalle in  solicitud.DETALLE_SOLICITUD)
            {
                try
                {
                    ANALISIS_EMPLEADO analisisEmpleado = detalle.ANALISIS_EMPLEADO.First();

                    String nombreEmpleado = analisisEmpleado.EMPLEADO.nombre_empleado;

                    if (analisisPorEmpleado.Where(ape => ape.Key.Equals(nombreEmpleado)).Count() > 0)
                    {
                        analisisPorEmpleado.Where(ape => ape.Key.Equals(nombreEmpleado)).First().Value.Add(detalle.ANALISI.nombre);
                    }
                    else
                    {
                        List <string> list = new List <string>();
                        list.Add(detalle.ANALISI.nombre);

                        analisisPorEmpleado.Add(nombreEmpleado, list);
                    }
                }
                catch (Exception e)
                {
                }
            }

            try
            {
                VISITA visita = db.VISITAs.First(v => v.id_solicitud == id);
                ViewBag.Visita = visita;
            }
            catch (Exception e)
            {
                ViewBag.Visita = null;
            }

            ViewBag.AnalisisPorEmpleado = analisisPorEmpleado;

            return(View(solicitud));
        }
Пример #11
0
        public bool GuardarVisita()
        {
            try
            {
                VISITA visita = new VISITA();
                visita.ID      = this.Id;
                visita.USUARIO = this.Usuario;
                CommonBC.DBConexion.VISITA.Add(visita);
                CommonBC.DBConexion.SaveChanges();


                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Пример #12
0
        public ActionResult Create(VISITA visita)
        {
            if (!ModelState.IsValid)
            {
                string messages = string.Join("; ",
                                              ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));


                string[] messagesArray = messages.Split(';');

                return(Json(new { valid = false, msgs = messagesArray }));
            }

            db.VISITAs.Add(visita);
            db.SaveChanges();

            return(Json(new { valid = true }));
        }
Пример #13
0
        public ActionResult Edit(int id, VISITA postVisita)
        {
            if (!ModelState.IsValid)
            {
                string messages = string.Join("; ",
                                              ModelState.Values
                                              .SelectMany(x => x.Errors)
                                              .Select(x => x.ErrorMessage));


                string[] messagesArray = messages.Split(';');

                return(Json(new { valid = false, msgs = messagesArray }));
            }

            VISITA visita = db.VISITAs.Find(id);

            db.Entry(visita).CurrentValues.SetValues(postVisita);
            db.SaveChanges();

            return(Json(new { valid = true }));
        }
Пример #14
0
        public ActionResult CrearInforme(int idSolicitud)
        {
            Object result;

            SOLICITUD solicitud = db.SOLICITUDs.Find(idSolicitud);
            VISITA    visita    = solicitud.VISITAs.First();

            try
            {
                if (solicitud.id_estado != 3 || (solicitud.id_estado_proceso != 4 && solicitud.id_estado_proceso != 6))
                {
                    throw new Exception("No puede generar reportes con los estados actuales de la solicitud");
                }

                if (solicitud.id_estado_proceso == 6 && solicitud.fecha_finalizacion == null)
                {
                    solicitud.fecha_finalizacion = DateTime.Now;
                }

                var tipo = "O";
                if (solicitud.INFORMES.Count() > 0)
                {
                    tipo = "R";
                }

                var areas = solicitud.DETALLE_SOLICITUD.GroupBy(ds => ds.ANALISI.AREA).ToList();

                List <string>  areasInforme = new List <string>();
                List <INFORME> informes     = new List <INFORME>();

                foreach (var area in areas)
                {
                    if (area.Key.id_area < 4)
                    {
                        if (!areasInforme.Contains("FQAA"))
                        {
                            areasInforme.Add("FQAA");
                        }
                    }
                    else
                    {
                        if (!areasInforme.Contains("Bact"))
                        {
                            areasInforme.Add("Bact");
                        }
                    }
                }

                foreach (string areaInforme in areasInforme)
                {
                    List <Parametro> parametros = new List <Parametro>();
                    List <Resultado> resultados = new List <Resultado>();

                    foreach (DETALLE_VISITA detalleVisita in visita.DETALLE_VISITA)
                    {
                        Parametro parametro = new Parametro()
                        {
                            nombre    = detalleVisita.MUESTRA.nombre_muestra,
                            valor     = detalleVisita.value.ToString(),
                            expresado = detalleVisita.MUESTRA.expresado,
                        };

                        parametros.Add(parametro);
                    }

                    IEnumerable <LaboratorioMarn.DETALLE_SOLICITUD> detallesSolicitud = solicitud.DETALLE_SOLICITUD.ToList();

                    foreach (DETALLE_SOLICITUD detalle in detallesSolicitud)
                    {
                        REPORTE reporte = detalle.ANALISIS_EMPLEADO.First().REPORTEs.First();

                        Resultado resultado = new Resultado()
                        {
                            analisis        = detalle.ANALISI.nombre,
                            resultado       = reporte.resultado.ToString(),
                            incerteza       = reporte.incerteza.ToString(),
                            unidades        = reporte.unidades,
                            limiteDeteccion = reporte.limite_deteccion.ToString(),
                            metodo          = detalle.ANALISI.metodo
                        };

                        resultados.Add(resultado);
                    }

                    InformeSolicitud informeSolicitud = new InformeSolicitud()
                    {
                        tipo               = tipo,
                        numeroReferencia   = solicitud.no_referencia,
                        solicitante        = solicitud.SOLICITANTE.nombre_solicitante,
                        fechaInicio        = solicitud.fecha_inicio.Value.ToShortDateString(),
                        fechaFinalizacion  = solicitud.fecha_finalizacion.Value.ToShortDateString(),
                        direccion          = visita.SITIO_MUESTREO.direccion_sitio,
                        fechaTomaMuestra   = visita.fecha_visita.Value.ToString(),
                        fechaRecepcion     = visita.fecha_entrega.Value.ToShortDateString(),
                        responsableMuestra = visita.EMPLEADO.nombre_empleado,
                        tipoMuestra        = visita.TIPO_MUESTRA.nombre_tipo_muestra,
                        procedencia        = visita.PROCEDENCIA.nombre_procedencia,
                        areas              = areaInforme,
                        fechaGeneracion    = DateTime.Now.ToShortDateString(),
                        Parametros         = parametros,
                        Resultados         = resultados
                    };

                    string informeJson = JsonConvert.SerializeObject(informeSolicitud);

                    INFORME informe = new INFORME()
                    {
                        data           = informeJson,
                        fecha_creacion = DateTime.Now,
                        tipo           = tipo,
                        id_solicitud   = solicitud.id_solicitud,
                        areas          = areaInforme
                    };

                    solicitud.INFORMES.Add(informe);

                    informes.Add(informe);
                }

                solicitud.informe_generado  = 1;
                solicitud.id_estado_proceso = 5;

                foreach (PROCESO_ANALISTA procesoAnalista in solicitud.PROCESO_ANALISTA)
                {
                    procesoAnalista.id_estado_proceso_analista = 6;
                }

                db.SaveChanges();

                List <int> informesIds = new List <int>();

                foreach (INFORME informe in informes)
                {
                    informesIds.Add(informe.id_informe);
                }

                result = new { valid = true, informes = informesIds };
            }
            catch (Exception e)
            {
                result = new { valid = false, msg = e.Message };
            }

            return(Json(result));
        }
Пример #15
0
        public ActionResult CompleteVisit()
        {
            Stream req = Request.InputStream;

            req.Seek(0, System.IO.SeekOrigin.Begin);
            string json = new StreamReader(req).ReadToEnd();

            var    dbTransaction = db.Database.BeginTransaction();
            Object result;

            try
            {
                // assuming JSON.net/Newtonsoft library from http://json.codeplex.com/
                JObject input = (JObject)JsonConvert.DeserializeObject(json);

                int    idVisita   = input.GetValue("visita").ToObject <int>();
                string horaVisita = input.GetValue("hora").ToObject <string>();

                var latObject = input.GetValue("lat");
                var lngObject = input.GetValue("lng");

                Nullable <decimal> lat = null;
                Nullable <decimal> lng = null;

                if (latObject != null)
                {
                    lat = latObject.ToObject <decimal>();
                }

                if (lngObject != null)
                {
                    lng = lngObject.ToObject <decimal>();
                }

                string identificador = input.GetValue("identificador").ToObject <string>();
                string frascos       = input.GetValue("frascos").ToObject <string>();

                var detalles = input.GetValue("detalles");


                VISITA visita = db.VISITAs.Find(idVisita);

                visita.identificador = identificador;
                visita.no_frascos    = byte.Parse(frascos);
                visita.lat           = lat;
                visita.lng           = lng;

                var horas   = Int32.Parse(horaVisita.Substring(0, 2));
                var minutos = Int32.Parse(horaVisita.Substring(3, 2));

                visita.fecha_visita = new DateTime(visita.fecha_visita.Value.Year, visita.fecha_visita.Value.Month, visita.fecha_visita.Value.Day, horas, minutos, 0);

                List <DETALLE_VISITA> detallesVisita = db.DETALLE_VISITA.Where(dv => dv.id_visita == visita.id_visita).ToList();

                List <int> detallesVisitaInput = new List <int>();
                foreach (JObject detalle in detalles)
                {
                    byte   muestra = detalle.GetValue("muestra").ToObject <byte>();
                    string value   = detalle.GetValue("value").ToObject <string>();

                    DETALLE_VISITA detalleVisita = db.DETALLE_VISITA.SingleOrDefault(dv => dv.id_muestra == muestra && dv.id_visita == idVisita);

                    if (detalleVisita == null)
                    {
                        detalleVisita = new DETALLE_VISITA()
                        {
                            id_visita  = idVisita,
                            id_muestra = muestra,
                            value      = Decimal.Parse(value)
                        };

                        visita.DETALLE_VISITA.Add(detalleVisita);
                    }
                    else
                    {
                        detalleVisita.value = Decimal.Parse(value);
                    }

                    db.SaveChanges();
                    detallesVisitaInput.Add(detalleVisita.id_detalle_visita);
                }

                foreach (DETALLE_VISITA detalleVisita in detallesVisita)
                {
                    if (!detallesVisitaInput.Exists(d => d == detalleVisita.id_detalle_visita))
                    {
                        db.DETALLE_VISITA.Remove(detalleVisita);
                    }
                }
                db.SaveChanges();

                dbTransaction.Commit();

                result = new { isValid = true };
            }
            catch (Exception e)
            {
                dbTransaction.Rollback();

                var msg = e.Message;

                result = new { isValid = false, msg = msg };
            }

            return(Json(result));
        }
Пример #16
0
        public ActionResult CreateVisitas(VISITA visita, int solicitud, int cantidad_muestras)
        {
            GRUPO_SOLICITUD grupoSolicitud = db.GRUPO_SOLICITUD.Find(solicitud);

            List <Int32> referencia = this.numeroReferencia();

            var    dbTransaction = db.Database.BeginTransaction();
            Object result;

            try
            {
                Int32 correlativo = referencia.ElementAt(0);
                for (var i = 0; i < cantidad_muestras; i++)
                {
                    SOLICITUD newSolicitud = new SOLICITUD();

                    newSolicitud.fecha_creacion    = DateTime.Now;
                    newSolicitud.id_empleado       = this.empleado().id_empleado;
                    newSolicitud.id_estado         = 1;
                    newSolicitud.id_estado_proceso = 1;
                    newSolicitud.no_referencia     = referencia.ElementAt(1).ToString() + "-" + correlativo.ToString().PadLeft(4, '0');
                    newSolicitud.id_solicitante    = grupoSolicitud.SOLICITANTE.id_solicitante;
                    newSolicitud.informe_generado  = 0;

                    db.SOLICITUDs.Add(newSolicitud);
                    db.SaveChanges();

                    visita.id_solicitud       = newSolicitud.id_solicitud;
                    visita.id_grupo_solicitud = solicitud;

                    var horaEntrega = Request.Form["hora_entrega"];

                    var horasEntrega   = Int32.Parse(horaEntrega.Substring(0, 2));
                    var minutosEntrega = Int32.Parse(horaEntrega.Substring(3, 2));

                    var fechaEntrega = visita.fecha_entrega.Value.ToShortDateString();

                    visita.fecha_entrega = new DateTime(Int32.Parse(fechaEntrega.Substring(6, 4)), Int32.Parse(fechaEntrega.Substring(3, 2)), Int32.Parse(fechaEntrega.Substring(0, 2)), horasEntrega, minutosEntrega, 0);

                    if (visita.lat == null)
                    {
                        SITIO_MUESTREO sitio = db.SITIO_MUESTREO.Find(visita.id_sitio_muestreo);
                        visita.lat = sitio.lat;
                        visita.lng = sitio.lng;
                    }

                    db.VISITAs.Add(visita);
                    db.SaveChanges();


                    foreach (var id in grupoSolicitud.preset.Split(','))
                    {
                        int analisis = Int32.Parse(id);

                        DETALLE_SOLICITUD detalle = new DETALLE_SOLICITUD();

                        detalle.id_analisis  = analisis;
                        detalle.id_solicitud = newSolicitud.id_solicitud;

                        db.DETALLE_SOLICITUD.Add(detalle);
                    }

                    db.SaveChanges();

                    correlativo++;
                }

                dbTransaction.Commit();

                result = new { isValid = true };
            }
            catch (Exception e)
            {
                dbTransaction.Rollback();

                var msg = e.Message;

                result = new { isValid = false, msg = msg };
            }


            return(Json(result));
        }
Пример #17
0
        public ActionResult EditarVisitaPost(VISITA visita, string visitaId, int cantidad_muestras)
        {
            IEnumerable <VISITA> visitas = db.VISITAs.Where(v => v.id == visitaId).OrderByDescending(v => v.id_visita);

            Object result;
            var    dbTransaction = db.Database.BeginTransaction();

            try
            {
                var          countVisitas = visitas.Count();
                List <Int32> referencia   = this.numeroReferencia();

                if (cantidad_muestras > countVisitas)
                {
                    Int32 correlativo = referencia.ElementAt(0);

                    GRUPO_SOLICITUD grupoSolicitud = visitas.First().GRUPO_SOLICITUD;

                    for (var i = 0; i < (cantidad_muestras - countVisitas); i++)
                    {
                        // crear visitas y solicitudes(muestras)
                        SOLICITUD newSolicitud = new SOLICITUD();

                        newSolicitud.fecha_creacion    = DateTime.Now;
                        newSolicitud.id_empleado       = this.empleado().id_empleado;
                        newSolicitud.id_estado         = 1;
                        newSolicitud.id_estado_proceso = 1;
                        newSolicitud.no_referencia     = referencia.ElementAt(1).ToString() + "-" + correlativo.ToString().PadLeft(4, '0');
                        newSolicitud.id_solicitante    = grupoSolicitud.SOLICITANTE.id_solicitante;
                        newSolicitud.informe_generado  = 0;

                        db.SOLICITUDs.Add(newSolicitud);
                        db.SaveChanges();

                        visita.id_solicitud       = newSolicitud.id_solicitud;
                        visita.id_grupo_solicitud = grupoSolicitud.id_grupo_solicitud;

                        var horaEntrega = Request.Form["hora_entrega"];

                        var horasEntrega   = Int32.Parse(horaEntrega.Substring(0, 2));
                        var minutosEntrega = Int32.Parse(horaEntrega.Substring(3, 2));

                        var fechaEntrega = visita.fecha_entrega.Value.ToShortDateString();

                        visita.fecha_entrega = new DateTime(Int32.Parse(fechaEntrega.Substring(6, 4)), Int32.Parse(fechaEntrega.Substring(3, 2)), Int32.Parse(fechaEntrega.Substring(0, 2)), horasEntrega, minutosEntrega, 0);

                        if (visita.lat == null)
                        {
                            SITIO_MUESTREO sitio = db.SITIO_MUESTREO.Find(visita.id_sitio_muestreo);
                            visita.lat = sitio.lat;
                            visita.lng = sitio.lng;
                        }

                        db.VISITAs.Add(visita);
                        db.SaveChanges();


                        foreach (var id in grupoSolicitud.preset.Split(','))
                        {
                            int analisis = Int32.Parse(id);

                            DETALLE_SOLICITUD detalle = new DETALLE_SOLICITUD();

                            detalle.id_analisis  = analisis;
                            detalle.id_solicitud = newSolicitud.id_solicitud;

                            db.DETALLE_SOLICITUD.Add(detalle);
                        }

                        db.SaveChanges();

                        correlativo++;
                    }
                }
                else if (cantidad_muestras < countVisitas)
                {
                    // verificar que el estado de las solicitudes sea 1
                    var toDelete = countVisitas - cantidad_muestras;

                    foreach (VISITA visitaToDelete in visitas)
                    {
                        if (toDelete == 0)
                        {
                            break;
                        }

                        if (visitaToDelete.SOLICITUD.id_estado == 1)
                        {
                            toDelete--;

                            SOLICITUD solicitudToRemove = visitaToDelete.SOLICITUD;

                            if (visitaToDelete.DETALLE_VISITA.Count() > 0)
                            {
                                foreach (DETALLE_VISITA detalleVisita in visitaToDelete.DETALLE_VISITA.ToList())
                                {
                                    db.DETALLE_VISITA.Remove(detalleVisita);
                                }
                            }

                            db.VISITAs.Remove(visitaToDelete);

                            if (solicitudToRemove.DETALLE_SOLICITUD.Count() > 0)
                            {
                                foreach (DETALLE_SOLICITUD detalle in solicitudToRemove.DETALLE_SOLICITUD.ToList())
                                {
                                    if (detalle.ANALISIS_EMPLEADO.FirstOrDefault() != null)
                                    {
                                        db.ANALISIS_EMPLEADO.Remove(detalle.ANALISIS_EMPLEADO.FirstOrDefault());
                                    }

                                    db.DETALLE_SOLICITUD.Remove(detalle);
                                }
                            }

                            db.SOLICITUDs.Remove(solicitudToRemove);
                        }
                    }

                    if (toDelete > 0)
                    {
                        throw new Exception("No es posible disminuir el numero de muestras ya que no hay suficientes con estado 'Pendiente'");
                    }
                }

                db.SaveChanges();
                visitas = db.VISITAs.Where(v => v.id == visitaId);


                foreach (VISITA visitaUpdate in visitas)
                {
                    visitaUpdate.fecha_visita = visita.fecha_visita;

                    var horaEntrega = Request.Form["hora_entrega"];

                    var horasEntrega   = Int32.Parse(horaEntrega.Substring(0, 2));
                    var minutosEntrega = Int32.Parse(horaEntrega.Substring(3, 2));

                    var fechaEntrega = visita.fecha_entrega.Value.ToShortDateString();

                    visitaUpdate.fecha_entrega = new DateTime(Int32.Parse(fechaEntrega.Substring(6, 4)), Int32.Parse(fechaEntrega.Substring(3, 2)), Int32.Parse(fechaEntrega.Substring(0, 2)), horasEntrega, minutosEntrega, 0);

                    visitaUpdate.id_procedencia      = visita.id_procedencia;
                    visitaUpdate.id_empleado         = visita.id_empleado;
                    visitaUpdate.id_empleado_entrega = visita.id_empleado_entrega;
                    visitaUpdate.id_sitio_muestreo   = visita.id_sitio_muestreo;
                    visitaUpdate.id_tipo_muestra     = visita.id_tipo_muestra;
                    visitaUpdate.id = visita.id;
                }

                db.SaveChanges();

                dbTransaction.Commit();

                result = new { isValid = true };
            }
            catch (Exception e)
            {
                dbTransaction.Rollback();

                var msg = e.Message;

                result = new { isValid = false, msg = msg };
            }

            return(Json(result));
        }
Пример #18
0
        public ActionResult EditarVisita(string id)
        {
            VISITA visita = db.VISITAs.Where(v => v.id == id).First();

            this.fillViewBag();

            var empleadoVisita  = visita.id_empleado;
            var empleadoEntrega = visita.id_empleado_entrega;

            IEnumerable <SelectListItem> empleadosList = ViewBag.EmpleadoSelection;

            foreach (SelectListItem empleadoItem in empleadosList)
            {
                if (empleadoItem.Value.Equals(empleadoVisita.ToString()))
                {
                    empleadoItem.Selected = true;
                }
            }

            IEnumerable <SelectListItem> empleados2List = ViewBag.EmpleadoSelection;

            foreach (SelectListItem empleadoItem in empleadosList)
            {
                if (empleadoItem.Value.Equals(empleadoEntrega.ToString()))
                {
                    empleadoItem.Selected = true;
                }
            }

            var procedenciaVisita = visita.id_procedencia;
            IEnumerable <SelectListItem> procedenciaList = ViewBag.ProcedenciaSelection;

            foreach (SelectListItem procedenciaItem in procedenciaList)
            {
                if (procedenciaItem.Value.Equals(procedenciaVisita.ToString()))
                {
                    procedenciaItem.Selected = true;
                }
            }

            var muestraVisita = visita.id_tipo_muestra;
            IEnumerable <SelectListItem> muestraList = ViewBag.MuestraSelection;

            foreach (SelectListItem muestraItem in muestraList)
            {
                if (muestraItem.Value.Equals(muestraVisita.ToString()))
                {
                    muestraItem.Selected = true;
                }
            }

            var sitio = visita.id_sitio_muestreo;
            IEnumerable <SelectListItem> sitioList = ViewBag.SitioMuestreoSelection;

            foreach (SelectListItem sitioItem in sitioList)
            {
                if (sitioItem.Value.Equals(sitio.ToString()))
                {
                    sitioItem.Selected = true;
                }
            }

            ViewBag.EmpleadoSelection      = empleadosList;
            ViewBag.Empleado2Selection     = empleados2List;
            ViewBag.procedenciaSelection   = procedenciaList;
            ViewBag.MuestraSelection       = muestraList;
            ViewBag.SitioMuestreoSelection = sitioList;

            return(PartialView(visita));
        }