public ActionResult NuevaProduccion(ProduccionViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (proyectofloresEntities db = new proyectofloresEntities())
                    {
                        var oProduccion = new produccion();

                        oProduccion.idfinca      = model.Idfinca;
                        oProduccion.numerobloque = model.Numerobloque;
                        oProduccion.variedadflor = model.Variedadflor;
                        oProduccion.plantas      = model.Plantas;
                        oProduccion.areas        = model.Areas;
                        oProduccion.camas        = model.Camas;
                        oProduccion.nsemana      = model.Nsemana;

                        db.produccion.Add(oProduccion);
                        db.SaveChanges();
                    }
                    return(Redirect("~/Produccion/ListaProduccion"));
                }
                return(View(model));
            }catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Exemple #2
0
        public ActionResult DeleteConfirmed(int id)
        {
            produccion produccion = db.produccion.Find(id);

            db.produccion.Remove(produccion);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemple #3
0
        public void Busqueda()
        {
            produccion pr      = new produccion();
            int        idBusca = 1;

            pr = db.produccion.Find(idBusca);
            //Prueba de buscar
            Assert.AreEqual(pr.Id, idBusca);
        }
Exemple #4
0
 public ActionResult Edit([Bind(Include = "id,Fecha,Folio,Granjeros_Id")] produccion produccion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(produccion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.Granjeros_Id = new SelectList(db.granjeros, "id", "Nombre", produccion.Granjeros_Id);
     return(View(produccion));
 }
Exemple #5
0
 public ActionResult Edit([Bind(Include = "Id,fecha_produccion,recetaId,costo_produccion,cantidad,valor_total_venta,rentabilidad_produccion,costo_receta_kilo,valor_venta_kilo")] produccion produccion)
 {
     if (ModelState.IsValid)
     {
         db.Entry(produccion).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.recetaId = new SelectList(db.receta, "Id", "nombre", produccion.recetaId);
     return(View(produccion));
 }
Exemple #6
0
        public void Eliminacion()
        {
            int        pr_originales = db.produccion.Count();
            produccion pr            = new produccion();

            pr = db.produccion.Find(Convert.ToInt16(pr_originales));
            db.produccion.Remove(pr);
            db.SaveChanges();
            int pr_cambiadas = db.produccion.Count();

            Assert.AreEqual(pr_originales - 1, pr_cambiadas);
        }
Exemple #7
0
        public void Edicion()
        {
            int        pr_originales       = db.produccion.Count();
            produccion pr                  = new produccion();
            int        pr_receta_reemplazo = receta_reemplazo;
            int        pr_receta_original  = receta;

            pr          = db.produccion.Find(Convert.ToInt16(pr_receta_original));
            pr.recetaId = pr_receta_reemplazo;
            db.SaveChanges();
            Assert.AreNotEqual(pr.recetaId, pr_receta_original);
        }
        public ActionResult Edit([Bind(Include = "id,codigo_lote,fecha,comentarios,cantidad,presentacion_id,tipo_cerveza_id")] produccion produccion)
        {
            if (ModelState.IsValid)
            {
                // db.Entry(produccion).State = EntityState.Modified;
                //db.SaveChanges();

                db.editarProduccion(produccion.id, produccion.codigo_lote, produccion.fecha, produccion.comentarios, produccion.cantidad, produccion.presentacion_id, produccion.tipo_cerveza_id);
                return(RedirectToAction("Index"));
            }
            ViewBag.presentacion_id = new SelectList(db.presentacion, "id", "nombre", produccion.presentacion_id);
            ViewBag.tipo_cerveza_id = new SelectList(db.tipo_cerveza, "id", "nombre", produccion.tipo_cerveza_id);
            return(View(produccion));
        }
        // GET: /Produccion/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            produccion produccion = db.produccion.Find(id);

            if (produccion == null)
            {
                return(HttpNotFound());
            }
            return(View(produccion));
        }
Exemple #10
0
        public void Insercion()
        {
            int        pr_originales = db.produccion.Count();
            produccion pr            = new produccion();

            pr.Id = pr_originales + 1;
            pr.fecha_produccion = fechaProduccion;
            pr.recetaId         = receta;
            db.produccion.Add(pr);
            db.SaveChanges();
            int pr_cambiadas = db.produccion.Count();

            Assert.AreEqual(pr_originales + 1, pr_cambiadas);
        }
Exemple #11
0
        // GET: produccions/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            produccion produccion = db.produccion.Find(id);

            if (produccion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.Granjeros_Id = new SelectList(db.granjeros, "id", "Nombre", produccion.Granjeros_Id);
            return(View(produccion));
        }
        // GET: /Produccion/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            produccion produccion = db.produccion.Find(id);

            if (produccion == null)
            {
                return(HttpNotFound());
            }
            ViewBag.presentacion_id = new SelectList(db.presentacion, "id", "nombre", produccion.presentacion_id);
            ViewBag.tipo_cerveza_id = new SelectList(db.tipo_cerveza, "id", "nombre", produccion.tipo_cerveza_id);
            return(View(produccion));
        }
Exemple #13
0
        public ActionResult GuardarProduccion(ProduccionVM p)
        {
            string            folio = "";
            string            gallinerosiguiente = "";
            var               granjero           = db.granjeros.Where(x => x.AspNetUsers.Email.Equals(User.Identity.Name)).FirstOrDefault();
            var               a = db.detgallinasgallineros.Where(x => x.Granjas_Id == granjero.Granjas_Id).GroupBy(x => x.gallineros).ToList().Select(x => x.Key);
            List <gallineros> listaGallineros = a.ToList();

            if (p.folio.Trim().Equals("SIN FOLIO GENERADO"))
            {
                produccion produccion = new produccion();
                produccion.Granjeros_Id = granjero.id;
                produccion.Fecha        = DateTime.Now;
                int produccionxgranja = (db.produccion.Where(x => x.Folio.Contains(granjero.granjas.nomenclatura)).Count() + 1);
                folio            = granjero.granjas.nomenclatura + "-P-" + produccionxgranja;
                produccion.Folio = folio;

                db.produccion.Add(produccion);

                detproducciongallineros dtproduccion = new detproducciongallineros();
                dtproduccion.Gallineros_Id  = listaGallineros.Where(x => x.codigo.Equals(p.gallinero)).FirstOrDefault().id;
                dtproduccion.Produccion_Id  = produccion.id;
                dtproduccion.cantidadhuevos = p.qty;

                db.detproducciongallineros.Add(dtproduccion);
                db.SaveChanges();

                int gallineroactual = listaGallineros.Where(x => x.codigo.Equals(p.gallinero)).FirstOrDefault().id;

                var siguientegallinero = listaGallineros.Where(x => x.id > gallineroactual).FirstOrDefault();
                gallinerosiguiente = siguientegallinero.codigo;

                return(Json(new { respuesta = true, folior = folio, gallinero = gallinerosiguiente }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                int idproduccion    = db.produccion.Where(x => x.Folio.Equals(p.folio)).FirstOrDefault().id;
                int idgallinero     = listaGallineros.Where(x => x.codigo.Equals(p.gallinero)).FirstOrDefault().id;
                int gallineroactual = listaGallineros.Where(x => x.codigo.Equals(p.gallinero)).FirstOrDefault().id;
                int gallinerofinal  = listaGallineros.ToList().LastOrDefault().id;

                var siguientegallinero = listaGallineros.Where(x => x.id > gallineroactual).FirstOrDefault();

                if (siguientegallinero != null)
                {
                    gallinerosiguiente = siguientegallinero.codigo;
                    detproducciongallineros dtproduccion = new detproducciongallineros();
                    dtproduccion.Gallineros_Id  = idgallinero;
                    dtproduccion.Produccion_Id  = idproduccion;
                    dtproduccion.cantidadhuevos = p.qty;

                    db.detproducciongallineros.Add(dtproduccion);
                    db.SaveChanges();

                    return(Json(new { respuesta = true, folior = p.folio, gallinero = gallinerosiguiente }, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    if ((gallinerofinal - gallineroactual) == 0)
                    {
                        detproducciongallineros dtproduccion = new detproducciongallineros();
                        dtproduccion.Gallineros_Id  = idgallinero;
                        dtproduccion.Produccion_Id  = idproduccion;
                        dtproduccion.cantidadhuevos = p.qty;

                        db.detproducciongallineros.Add(dtproduccion);
                        db.SaveChanges();

                        gallinerosiguiente = "NO HAY MAS GALLINEROS";
                    }

                    return(Json(new { respuesta = true, folior = p.folio, gallinero = gallinerosiguiente }, JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult ListaAnalisis()
        {
            using (proyectofloresEntities db = new proyectofloresEntities())
            {
                var oBloque = new bloque();

                var query = (from c in db.bloque
                             select c.diferenciaaño).ToArray();

                //hallar el minimo valor
                var min = query.Min();
                //hallar el maximo valor
                var max = query.Max();

                int bloquecount = db.bloque.Count();
                Console.WriteLine(bloquecount);

                //cargar los datos de la base al array
                double[] vector = query;

                //numero de datos que vienen de la base de datos
                int columnas = bloquecount;

                //calculamos el numero de intervalos
                double intervalos = Math.Log(columnas + 1, 2);

                //redondeamos el numero de intervalos
                int redondeo = (int)Math.Round(intervalos);

                //hallar el rango
                int rango = (int)(max - min);
                Console.WriteLine(rango);

                //amplitud de intervalos
                double amp_Rango = rango / redondeo;
                Console.WriteLine(amp_Rango);

                double[] linf = new double [redondeo];
                double[] lsup = new double [redondeo];
                double[] mclase = new double[redondeo];
                double[] fabsoluta = new double[redondeo];
                double[] frelativa = new double[redondeo];
                double[] xf = new double[redondeo];
                int      i = 0, j = 0;
                for (i = 0; i < redondeo; i++)
                {
                    if (i == 0)
                    {
                        linf[i]      = min;
                        ViewBag.linf = linf;
                    }

                    for (j = 0; j < redondeo; j++)
                    {
                        if (i == 0)
                        {
                            lsup[j] = linf[i] + amp_Rango;
                        }

                        if (i > 0 && j > 0)
                        {
                            linf[i] = lsup[j - 1] + 0.1;
                        }

                        if (j > 0)
                        {
                            lsup[j] = linf[i] + amp_Rango;
                        }

                        ViewBag.lsup = lsup;
                    }
                }

                //amplitud
                int a = 0;
                i = 0; j = 0;
                double[] amplitud = new double[redondeo];
                for (a = 0; a < redondeo; a++)
                {
                    amplitud[a] = lsup[j] - linf[i];
                    i++;
                    j++;
                }

                //marca de clase
                int l = 0, m = 0;
                for (int k = 0; k < redondeo; k++)
                {
                    mclase[k] = ((linf[l] + lsup[m]) / 2);
                    l++;
                    m++;
                }
                ViewBag.marca_clase = mclase;

                //frecuencia absoluta
                l = 0; m = 0;
                double   acumulado = 0;
                int      o, r = 0;
                double[] acum_fabsol = new double[redondeo];
                for (int n = 0; n < redondeo; n++)
                {
                    for (o = 0; o < columnas; o++)
                    {
                        if (vector[o] >= linf[l] && vector[o] <= lsup[m])
                        {
                            fabsoluta[n] += 1;
                        }
                    }
                    l++;
                    m++;

                    acumulado += fabsoluta[n];
                    if (r == 0 && n == 0)
                    {
                        acum_fabsol[r] = fabsoluta[n];
                    }
                    if (r > 0 && n > 0)
                    {
                        acum_fabsol[r] = fabsoluta[n] + fabsoluta[n - 1];
                    }
                    r++;
                }
                ViewBag.fabsoluta = fabsoluta;

                //frecuencia relativa
                o = 0;
                for (int p = 0; p < redondeo; p++)
                {
                    frelativa[p] = fabsoluta[o] / acumulado;
                    o++;
                }
                ViewBag.frelativa = frelativa;

                //xf
                int    mc = 0, fa = 0;
                double acumxf = 0;
                for (int q = 0; q < redondeo; q++)
                {
                    xf[q]   = mclase[mc] * fabsoluta[fa];
                    acumxf += xf[q];
                    mc++;
                    fa++;
                }
                ViewBag.xf = xf;

                //media
                double media = acumxf / acumulado;
                ViewBag.media = media;

                //mediana
                int    acum = 0, dato = 0, Fi_i = 0;
                double li = 0, amp = 0, mediana = 0;
                r = 0; i = 0; a = 0;
                if (acumulado % 2 == 0)
                {
                    //acumulado/2
                    acum = (int)Math.Round(acumulado / 2);
                    for (int s = 0; s < redondeo; s++)
                    {
                        if (acum < acum_fabsol[s] && s == 0)
                        {
                            Fi_i = 0;
                            dato = (int)acum_fabsol[s];
                            //valor del limite inferior
                            if (i == s && a == s)
                            {
                                li  = linf[i];
                                amp = amplitud[a];
                            }
                        }

                        if (s > 0)
                        {
                            if (acum > acum_fabsol[s - 1] && acum < acum_fabsol[s])
                            {
                                Fi_i = (int)acum_fabsol[s - 1];
                                dato = (int)acum_fabsol[s];
                                //valor del limite inferior
                                if (i == s && a == s)
                                {
                                    li  = linf[i];
                                    amp = amplitud[a];
                                }
                            }
                        }

                        i++;
                        a++;
                    }

                    mediana = li + ((acumulado / 2) - Fi_i / dato) * amp;
                }
                else
                {
                    acum = (int)Math.Round((acumulado + 1) / 2);
                    for (int s = 0; s < redondeo; s++)
                    {
                        if (acum < acum_fabsol[s] && s == 0)
                        {
                            Fi_i = 0;
                            dato = (int)acum_fabsol[s];
                            //valor del limite inferior
                            if (i == s && a == s)
                            {
                                li  = linf[i];
                                amp = amplitud[a];
                            }
                        }
                        if (s > 0)
                        {
                            if (acum > acum_fabsol[s - 1] && acum < acum_fabsol[s])
                            {
                                Fi_i = (int)acum_fabsol[s - 1];
                                dato = (int)acum_fabsol[s];
                                //valor del limite inferior
                                if (i == s && a == s)
                                {
                                    li  = linf[i];
                                    amp = amplitud[a];
                                }
                            }
                        }
                        i++;
                        a++;
                    }

                    //mediana = li + ((acumulado / 2) - Fi_i / dato) * amp;
                }
                //imprimos la mediana
                //ViewBag.mediana = mediana;



                //analisis de produccion

                var oProduccion = new produccion();

                int nproducc = db.produccion.Count();

                var querynplantas = (from c in db.produccion
                                     select c.plantas).ToArray();

                var queryncamas = (from c in db.produccion
                                   select c.camas).ToArray();

                //cargamos el numero de plantas
                int[] pro_plantas = querynplantas;

                ViewBag.producplantas = pro_plantas;

                //cargamos el numero de camas
                int[] pro_camas = queryncamas;

                ViewBag.ncamas = pro_camas;

                double[] acumula_ncamas = new double[nproducc];
                int      x            = 0;
                int      y            = 0;
                double   acumuladotot = 0;
                for (x = 0; x < nproducc; x++)
                {
                    if (y == 0 && x == 0)
                    {
                        acumula_ncamas[x] = pro_camas[y];
                    }
                    if (y > 0 && x > 0)
                    {
                        acumula_ncamas[x] = pro_camas[y] + pro_camas[y - 1];
                    }
                    acumuladotot += acumula_ncamas[x];
                    y++;
                }

                ViewBag.facumcamas = acumula_ncamas;


                //multipliacacion xi*f

                double[] med_frec = new double[nproducc];

                int mediap = 0;
                x = 0; y = 0;
                double acum_xif = 0;
                for (mediap = 0; mediap < nproducc; mediap++)
                {
                    med_frec[mediap] = pro_plantas[x] * pro_camas[y];
                    acum_xif        += med_frec[mediap];
                    x++;
                    y++;
                }
                ViewBag.medifrec = med_frec;

                //calculo error absoluto

                media = acum_xif / acumuladotot;
                double[] Error_Absol = new double[nproducc];
                int      ea          = 0;
                int      pro         = 0;
                double   acum_ea     = 0;
                for (ea = 0; ea < nproducc; ea++)
                {
                    Error_Absol[ea] = media - pro_plantas[pro];
                    acum_ea        += Error_Absol[ea];
                    pro++;
                }

                ViewBag.cal_ea = Error_Absol;

                return(View());
            }
        }