public static bool AgregarAnalisis(dbDataContext db, long idfamilia, string nombre, string descripcion, decimal p1, decimal p2, decimal p3, List <ANALISIS_DATO> Datos) { try { var reg = new ANALISI { ID_ANALISIS = ((long?)db.ANALISIs.Select(c => (long?)c.ID_ANALISIS).Max() ?? 0) + 1, ID_FAMILIA = idfamilia, NOMBRE = nombre, DESCRIPCION = descripcion, PRECIO1 = p1, PRECIO2 = p2, PRECIO3 = p3 }; foreach (ANALISIS_DATO item in Datos) { item.ID_ANALISIS_DATO = reg.ID_ANALISIS.ToString() + "-" + Datos.IndexOf(item); } reg.ANALISIS_DATOs.AddRange(Datos); db.ANALISIs.InsertOnSubmit(reg); db.SubmitChanges(); return(true); } catch (Exception ex) { MessageBox.Show("Ha ocurrido un error al agregar el registro.\n\n" + ex.Message, "SysLab", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ANALISI analisis = db.ANALISIS.Find(id); if (analisis == null) { return(HttpNotFound()); } List <AREA> areas = db.AREAs.ToList(); IEnumerable <SelectListItem> areasList = from area in areas select new SelectListItem { Value = area.id_area.ToString(), Text = area.nombre_area }; foreach (SelectListItem item in areasList) { if (item.Text.Equals(analisis.AREA.nombre_area)) { item.Selected = true; } } ViewBag.AreasSelection = areasList; return(View(analisis)); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ANALISI analisis = db.ANALISIS.Find(id); if (analisis == null) { return(HttpNotFound()); } return(View(analisis)); }
public void crearDetalleSolicitud(SOLICITUD Solicitud, List <EmpleadoSeleccion> empleadosSeleccion) { List <DETALLE_SOLICITUD> detallesList = new List <DETALLE_SOLICITUD>(); foreach (EmpleadoSeleccion empleadoSeleccion in empleadosSeleccion) { List <Int32> analisisList = empleadoSeleccion.analisis; for (var i = 0; i < analisisList.Count(); i++) { ANALISI analisis = db.ANALISIS.Find(analisisList[i]); DETALLE_SOLICITUD detalleSolicitud = new DETALLE_SOLICITUD() { id_solicitud = Solicitud.id_solicitud, id_analisis = analisis.id_analisis }; db.DETALLE_SOLICITUD.Add(detalleSolicitud); db.SaveChanges(); ANALISIS_EMPLEADO analisisEmpleado = new ANALISIS_EMPLEADO() { id_detalle_solicitud = detalleSolicitud.id_detalle_solicitud, id_empleado = empleadoSeleccion.idEmpleado }; db.ANALISIS_EMPLEADO.Add(analisisEmpleado); db.SaveChanges(); } if (analisisList.Count() > 0) { PROCESO_ANALISTA procesoAnalista = new PROCESO_ANALISTA { solicitud_id = Solicitud.id_solicitud, empleado_id = empleadoSeleccion.idEmpleado, cantidad_analisis = (byte)analisisList.Count() }; db.PROCESO_ANALISTA.Add(procesoAnalista); } db.SaveChanges(); } }
public ActionResult Edit(ANALISI analisis) { if (ModelState.IsValid) { ANALISI analisisOriginal = db.ANALISIS.Find(analisis.id_analisis); analisisOriginal.id_area = analisis.id_area; analisisOriginal.metodo = analisis.metodo; analisisOriginal.nombre = analisis.nombre; analisisOriginal.unidades = analisis.unidades; analisisOriginal.costo = analisis.costo; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(analisis)); }
public ActionResult DeleteConfirmed(int id) { try { ANALISI analisis = db.ANALISIS.Find(id); db.ANALISIS.Remove(analisis); db.SaveChanges(); return(RedirectToAction("Index")); } catch { TempData["msjError"] = "No se pudo eliminar el análisis"; return(RedirectToAction("Delete")); } }
public ActionResult Create(ANALISI analisis) { if (ModelState.IsValid) { analisis.formula = "formula"; ANALISI lastAnalisis = db.ANALISIS.OrderByDescending(a => a.id_analisis).First(); analisis.id_analisis = lastAnalisis.id_analisis + 1; db.ANALISIS.Add(analisis); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(analisis)); }
public ActionResult AsignarAnalisis(int idSolicitud, List <string> checkAnalisis) { SOLICITUD solicitud = db.SOLICITUDs.Find(idSolicitud); List <AREA> areas = db.AREAs.ToList(); List <ANALISI> analisis = new List <ANALISI>(); for (var i = 0; i < checkAnalisis.Count; i++) { ANALISI analisi = db.ANALISIS.Find(Int32.Parse(checkAnalisis[i])); analisis.Add(analisi); } ViewBag.Analisis = analisis; ViewBag.Solicitud = solicitud; ViewBag.Areas = areas; return(PartialView()); }
public ActionResult GuardarAsignacion() { 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 { EMPLEADO empleado = this.empleado(); JObject input = (JObject)JsonConvert.DeserializeObject(json); int idSolicitud = input.GetValue("idSolicitud").ToObject <int>(); var empleados = input.GetValue("empleados"); SOLICITUD solicitud = db.SOLICITUDs.Find(idSolicitud); List <EmpleadoSeleccion> empleadosSeleccion = getEmpleadosSeleccion(empleados); List <int> analisisSolicitud = new List <int>(); foreach (EmpleadoSeleccion empleadoSeleccion in empleadosSeleccion) { List <Int32> analisisList = empleadoSeleccion.analisis; for (var i = 0; i < analisisList.Count(); i++) { analisisSolicitud.Add(analisisList[i]); ANALISI analisis = db.ANALISIS.Find(analisisList[i]); IEnumerable <DETALLE_SOLICITUD> detalles = solicitud.DETALLE_SOLICITUD; DETALLE_SOLICITUD detalleSolicitud; if (detalles.Where(d => d.id_analisis == analisis.id_analisis).Count() == 1) { detalleSolicitud = detalles.Where(d => d.id_analisis == analisis.id_analisis).First(); } else { detalleSolicitud = new DETALLE_SOLICITUD() { id_solicitud = solicitud.id_solicitud, id_analisis = analisis.id_analisis }; db.DETALLE_SOLICITUD.Add(detalleSolicitud); db.SaveChanges(); } ANALISIS_EMPLEADO analisisEmpleado; if (detalleSolicitud.ANALISIS_EMPLEADO.Count() == 1) { analisisEmpleado = detalleSolicitud.ANALISIS_EMPLEADO.First(); analisisEmpleado.id_empleado = empleadoSeleccion.idEmpleado; } else { analisisEmpleado = new ANALISIS_EMPLEADO() { id_detalle_solicitud = detalleSolicitud.id_detalle_solicitud, id_empleado = empleadoSeleccion.idEmpleado }; db.ANALISIS_EMPLEADO.Add(analisisEmpleado); db.SaveChanges(); } } if (analisisList.Count() > 0) { PROCESO_ANALISTA procesoAnalista; if (db.PROCESO_ANALISTA.Where(pa => pa.empleado_id == empleadoSeleccion.idEmpleado).Count() > 1) { procesoAnalista = db.PROCESO_ANALISTA.Where(pa => pa.empleado_id == empleadoSeleccion.idEmpleado).First(); procesoAnalista.cantidad_analisis = (byte)analisisList.Count(); } else { procesoAnalista = new PROCESO_ANALISTA { solicitud_id = solicitud.id_solicitud, empleado_id = empleadoSeleccion.idEmpleado, cantidad_analisis = (byte)analisisList.Count() }; db.PROCESO_ANALISTA.Add(procesoAnalista); } db.SaveChanges(); } List <DETALLE_SOLICITUD> detallesToRemove = db.DETALLE_SOLICITUD.Where(ds => ds.id_solicitud == solicitud.id_solicitud && !analisisSolicitud.Contains(ds.id_analisis)).ToList(); foreach (DETALLE_SOLICITUD detalleToRemove in detallesToRemove) { db.DETALLE_SOLICITUD.Remove(detalleToRemove); } db.SaveChanges(); } dbTransaction.Commit(); result = new { isValid = true, id = solicitud.id_solicitud }; } catch (Exception e) { dbTransaction.Rollback(); var msg = e.Message; result = new { isValid = false, msg = msg }; } return(Json(result)); }