public ActionResult DeleteConfirmed(string id) { VISITA vISITA = db.VISITA.Find(id); db.VISITA.Remove(vISITA); db.SaveChanges(); return(RedirectToAction("Index")); }
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)); }
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)); }
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)); }
// 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)); }
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); } }
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); } }
// 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)); }
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); } }
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)); }
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); } }
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 })); }
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 })); }
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)); }
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)); }
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)); }
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)); }
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)); }