Beispiel #1
0
            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);
                }
            }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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();
            }
        }
Beispiel #5
0
 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));
 }
Beispiel #6
0
        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"));
            }
        }
Beispiel #7
0
        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));
        }
Beispiel #8
0
        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());
        }
Beispiel #9
0
        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));
        }