示例#1
0
        public async Task <IActionResult> Crear([FromBody] CrearViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var  fecha1 = model.fecha;
            Hoja hoja   = new Hoja
            {
                usuarioidusuario = model.idusuario,
                fecha            = DateTime.Parse(fecha1),
                estado           = false
            };

            _context.Hojas.Add(hoja);
            try
            {
                await _context.SaveChangesAsync();
            }
            catch (Exception ex)
            {
                return(BadRequest());
            }

            return(Ok(hoja.idhoja));
        }
 public ActionResult VerFarmacos(string Medicamento)
 {
     if (Medicamento == null || Medicamento == "")
     {
         return(View(Singleton.Instance.Listaver));
     }
     else
     {
         Hoja <MedicamentoIndice> hojaComparer        = new Hoja <MedicamentoIndice>();
         MedicamentoIndice        medicamentoComparer = new MedicamentoIndice(Medicamento, 1);
         hojaComparer.value = medicamentoComparer;
         bool siExiste = false;
         Singleton.Instance.ArbolBinario.PreOrden(Singleton.Instance.ArbolBinario.raiz, ref hojaComparer, ref siExiste);
         MedicamentoIndice buscador = hojaComparer.value;
         int lineaDeBusqueda        = buscador.linea - 1;
         if (siExiste == false)
         {
             ModelState.AddModelError("Medicamento", "Producto no encontrado");
             //  Medicamento = "";
             return(View(Singleton.Instance.Listaver));
             //no existe el medicamento
         }
         else
         {
             List <Medicamento> ListaBuscar = new List <Medicamento>();
             ListaBuscar.Add(Singleton.Instance.Listaver[lineaDeBusqueda]);
             Medicamento = "";
             // Reabastecer(lineaDeBusqueda);
             return(View(ListaBuscar));
         }
     }
 }
示例#3
0
 //Este metodo controlara que solo exista un objeto de la clase hoja
 public static Hoja getHoja()
 {
     if (hoja == null)
     {
         hoja = new Hoja();
     }
     return(hoja);
 }
示例#4
0
 protected bool InsertarHoja(Hoja hoja, int nivel)
 {
     for (int i = 0; i < arbol[nivel].Length; i++)
     {
         if (arbol[nivel][i] == null)
         {
             arbol[nivel][i] = hoja;
             return true;
         }
     }
     return false;
 }
示例#5
0
    // Use this for initialization

    protected override void Inicializar()
    {
        arbol       = new Hoja[5][];
        nombre      = "Weeaboo Lord";
        descripcion = "";
        for (int i = 0; i < arbol.Length; i++)
        {
            if (i == 0)
            {
                arbol[i] = new Hoja[6];
            }
            else
            {
                arbol[i] = new Hoja[0];
            }
        }
        InsertarHoja(new HojaCatapulta(catapulta), 0);
        InsertarHoja(new HojaDakimakura(dakimakura), 0);
        InsertarHoja(new HojaMochilaPegajosa(mochilaPegajosa), 0);
        MostrarLanzadores();
    }
    // Use this for initialization
    protected override void Inicializar()
    {
        posicionX   = (-posicionX);
        arbol       = new Hoja[5][];
        nombre      = "Jugador de Football";
        descripcion = "";
        for (int i = 0; i < arbol.Length; i++)
        {
            if (i == 0)
            {
                arbol[i] = new Hoja[3];
            }
            else
            {
                arbol[i] = new Hoja[0];
            }
        }
        InsertarHoja(new HojaJugadorDeFootballBase(jugadorDeFootballBase), 0);
        InsertarHoja(new HojaJugadorDeFootballV2(jugadorDeFootballV1), 0);
        InsertarHoja(new HojaJugadorDeFootballV1(jugadorDeFootballV2), 0);

        MostrarLanzadores();
    }
示例#7
0
        private void BuildAnual(Hoja hoja, DateTime iniDate)
        {
            var sMonthTitle = new Styles()
            {
                BackColor = Color.Gray, FontColor = Color.White, FontBold = true
            }.Update(s => s.Borders.SetGrid());
            var sCredito = new Styles()
            {
                BackColor = Color.FromArgb(200, 255, 200)
            }.Update(s => s.Borders.SetGrid());
            var sCreditoTotal = new Styles()
            {
                BackColor = Color.FromArgb(100, 255, 100), FontBold = true
            }.Update(s => s.Borders.SetGrid());
            var sDebito = new Styles()
            {
                BackColor = Color.FromArgb(255, 230, 230)
            }.Update(s => s.Borders.SetGrid());
            var sDebitoTotal = new Styles()
            {
                BackColor = Color.FromArgb(255, 200, 200), FontBold = true
            }.Update(s => s.Borders.SetGrid());


            var movimientos            = DAL.Session.Movimientos.Find(p => p.Fecha >= iniDate);
            var listaIdConceptosUsados = movimientos.Select(p => p.IdConcepto).Distinct();

            var conceptos        = DAL.Session.Conceptos.Find(p => listaIdConceptosUsados.Contains(p.Id)).OrderBy(p => p.Name);
            var conceptosCredito = conceptos.Where(p => p.EsCredito).Select(p => p.Id).ToArray();
            var conceptosDebito  = conceptos.Where(p => !p.EsCredito).Select(p => p.Id).ToArray();

            var data = new DataInfo();

            // HEADER
            var rowNum = 1;

            data.AddRow(new Row(rowNum, sMonthTitle));
            var i           = 0;
            var currentDate = iniDate;

            do
            {
                var colNum = 3 + i;
                currentDate = iniDate.AddMonths(i);
                var range = Ranges.GetRange(colNum, rowNum);
                data.AddColumn(new Column(colNum).Update(a => { a.Width = 11; a.Style.DataNumberFormat = "$ #,##0.00"; }));
                data.AddCell(new Cell(range, new Styles()
                {
                    DataNumberFormat = "mmm-yyyy"
                }, $"'{currentDate:MMM-yyyy}"));
                i++;
            } while (currentDate.Month != DateTime.Now.Month || currentDate.Year != DateTime.Now.Year);
            rowNum++;

            // Separador
            data.AddRow(new Row(rowNum).Update(a => a.Height = 3));
            rowNum++;

            // Lista Conceptos
            var conceptoRow = new Dictionary <Guid, int>();

            data.AddColumn(new Column(1)
            {
                Width = 30
            });
            data.AddColumn(new Column(2)
            {
                Width = 0.3
            });
            foreach (var idConcepto in conceptosCredito)
            {
                var coord     = $"A{rowNum}";
                var oConcepto = conceptos.Single(p => p.Id == idConcepto);
                data.AddRow(new Row(rowNum, sCredito));
                data.AddCell(new Cell(coord, oConcepto.Name));
                conceptoRow.Add(oConcepto.Id, rowNum);
                rowNum++;
            }

            data.AddRow(new Row(rowNum, sCreditoTotal));
            var subTotalCreditoRow = rowNum;

            rowNum++; // subtotales

            // Separador
            data.AddRow(new Row(rowNum).Update(a => a.Height = 3));
            rowNum++;

            foreach (var idConcepto in conceptosDebito)
            {
                var coord     = $"A{rowNum}";
                var oConcepto = conceptos.Single(p => p.Id == idConcepto);
                data.AddRow(new Row(rowNum, sDebito));
                data.AddCell(new Cell(coord, oConcepto.Name));
                conceptoRow.Add(oConcepto.Id, rowNum);
                rowNum++;
            }
            data.AddRow(new Row(rowNum, sDebitoTotal));
            var subTotalDebitoRow = rowNum;

            rowNum++;

            // Separador
            data.AddRow(new Row(rowNum).Update(a => a.Height = 3));

            // Fill DATA
            i           = 0;
            currentDate = iniDate;
            do
            {
                currentDate = iniDate.AddMonths(i);
                var c = 3 + i;

                decimal totalCredito = 0;
                decimal totalDebito  = 0;
                foreach (var concepto in conceptoRow)
                {
                    var monto = movimientos.Where(p => p.IdConcepto == concepto.Key && p.Fecha.Month == currentDate.Month && p.Fecha.Year == currentDate.Year).Sum(p => p.Monto);
                    if (monto != 0)
                    {
                        var coords = Ranges.GetRange(c, concepto.Value);
                        data.AddCell(new Cell(coords, Convert.ToDouble(monto)));
                    }

                    if (conceptos.Single(p => p.Id == concepto.Key).EsCredito)
                    {
                        totalCredito += monto;
                    }
                    else
                    {
                        totalDebito += monto;
                    }
                }

                data.AddCell(new Cell(Ranges.GetRange(c, subTotalCreditoRow), Convert.ToDouble(totalCredito)));
                data.AddCell(new Cell(Ranges.GetRange(c, subTotalDebitoRow), Convert.ToDouble(totalDebito)));
                i++;
            } while (currentDate.Month != DateTime.Now.Month || currentDate.Year != DateTime.Now.Year);

            hoja.SetInfo(data);
        }
示例#8
0
        private void BuildMensual(Hoja hoja, DateTime desde, DateTime?hasta = null)
        {
            hasta = hasta ?? desde.AddMonths(1);
            var dbMovimientos = DAL.Session.Movimientos.Find(p => p.Fecha >= desde && p.Fecha < hasta).OrderBy(p => p.Fecha);
            var dbConceptos   = DAL.Session.Conceptos.Find().ToArray();

            // Estilos a usar
            var colCurrency = new Styles()
            {
                DataNumberFormat = "$ #,##0.00;[Red]$ #,##0.00"
            };

            var rowHeaderStyle = new Styles()
            {
                FontBold = true, BackColor = Color.Gray
            };

            var cellStyle = new Styles()
            {
            }.Update(a => a.Borders.SetRectangle());

            // Datos
            var data = new DataInfo();

            data.AddColumn(new Column(1)
            {
                Width = 10
            })
            .AddColumn(new Column(2)
            {
                Width = 45
            })
            .AddColumn(new Column(3, colCurrency)
            {
                Width = 13
            })
            .AddColumn(new Column(4, colCurrency)
            {
                Width = 13
            })
            .AddColumn(new Column(5, colCurrency)
            {
                Width = 13
            })
            .AddColumn(new Column(6)
            {
                Width = 85
            })

            .AddRow(new Row(1, rowHeaderStyle))
            .AddCell(new Cell("A1", cellStyle, "Fecha"))
            .AddCell(new Cell("B1", cellStyle, "Concepto"))
            .AddCell(new Cell("C1", cellStyle, "Crédito"))
            .AddCell(new Cell("D1", cellStyle, "Débito"))
            .AddCell(new Cell("E1", cellStyle, "Saldo"))
            .AddCell(new Cell("F1", cellStyle, "Observaciones"));

            var     row   = 1;
            decimal saldo = 0;

            foreach (var dbMovimiento in dbMovimientos)
            {
                row++;
                var dbConcepto = dbConceptos.Single(p => p.Id == dbMovimiento.IdConcepto);

                saldo += (dbConcepto.EsCredito ? 1 : -1) * dbMovimiento.Monto;
                data.AddCell(new Cell($"A{row}", new Styles()
                {
                    BackColor = Color.LightCyan
                }.Update(a => a.Borders.SetRectangle()), $"'{dbMovimiento.Fecha:dd/MM/yyyy}"))
                .AddCell(new Cell($"B{row}", new Styles()
                {
                    BackColor = Color.LightCyan
                }.Update(a => a.Borders.SetRectangle()), dbConcepto.Name))
                .AddCell(new Cell($"C{row}", new Styles()
                {
                    BackColor = Color.LightGreen
                }.Update(a => a.Borders.SetRectangle()), dbConcepto.EsCredito ? Convert.ToDouble(dbMovimiento.Monto) : (object)""))
                .AddCell(new Cell($"D{row}", new Styles()
                {
                    BackColor = Color.LightSalmon
                }.Update(a => a.Borders.SetRectangle()), !dbConcepto.EsCredito ? Convert.ToDouble(dbMovimiento.Monto) : (object)""))
                .AddCell(new Cell($"E{row}", new Styles()
                {
                    BackColor = Color.LightSkyBlue
                }.Update(a => a.Borders.SetRectangle()), saldo))
                .AddCell(new Cell($"F{row}", new Styles()
                {
                    BackColor = Color.LightCyan
                }.Update(a => a.Borders.SetRectangle()), dbMovimiento.Observaciones));
            }

            hoja.SetInfo(data);
        }
示例#9
0
        public static Boolean Exportar(System.Data.DataTable pDatos)
        {
            Boolean     Resultado = false;
            Application Proceso;
            Workbook    Libro;
            Workbooks   Libros;
            Worksheet   Hoja;
            Sheets      Hojas;
            Range       Rango;
            Int32       nColumnas  = 0;
            Int32       PosColumna = 0;
            Int32       PosFila    = 0;
            Int32       nFilas     = 0;

            try
            {
                //Inicializacion de variables
                Proceso = new Application();
                Libros  = Proceso.Workbooks;
                Libro   = Libros.Add(Missing.Value);
                Hojas   = Libro.Worksheets;
                Hoja    = Hojas.Item[1];
                //
                nColumnas = pDatos.Columns.Count;
                nFilas    = pDatos.Rows.Count;

                if (nColumnas > 0 && nFilas > 0)
                {
                    Rango      = Hoja.get_Range("A1", Missing.Value);
                    Rango      = Rango.get_Resize(nFilas, nColumnas);
                    PosColumna = 1;

                    foreach (System.Data.DataColumn Columna  in pDatos.Columns)
                    {
                        Hoja.Cells[1, PosColumna] = Columna.Caption.ToString();
                        PosColumna += 1;
                    }

                    PosFila = 2;
                    foreach (System.Data.DataRow fila in pDatos.Rows)
                    {
                        PosColumna = 1;
                        foreach (System.Data.DataColumn Columna in pDatos.Columns)
                        {
                            Hoja.Cells[PosFila, PosColumna] = fila[Columna].ToString();
                            PosColumna += 1;
                        }
                        PosFila += 1;
                    }

                    Rango               = Rango.get_Resize(nFilas + 1, nColumnas);
                    Rango.Name          = "Datos";
                    Proceso.Visible     = true;
                    Proceso.UserControl = true;
                }
                else
                {
                    Resultado = false;
                }
            }
            catch (Exception)
            {
                Resultado = false;
            }

            return(Resultado);
        }
示例#10
0
 public bool MejorarHabilidad(Hoja habilidad)
 {
     return(false);
 }
示例#11
0
 public bool MejorarEstructura(Hoja estructura)
 {
     return(false);
 }
        public IActionResult search(string Buscar, string Busqueda, string Busquedaminicipio)
        {
            bool exists = false;

            Singleton.Instance.pacientebusqueda.Clear();
            int opcion  = Convert.ToInt32(Buscar);
            int muniPiv = Convert.ToInt32(Busquedaminicipio);

            if (muniPiv == 338)
            {
                switch (opcion)
                {
                case 0:    //Busqueda por nombre
                    for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++)
                    {
                        string nombre = Singleton.Instance.listaPacientes.ObtenerPos(i).Data.nombre;
                        if (nombre == Busqueda)
                        {
                            Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data;
                            Singleton.Instance.pacientebusqueda.Add(Buscado);
                        }
                    }
                    break;

                case 1:    //apellido
                    for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++)
                    {
                        string apellido = Singleton.Instance.listaPacientes.ObtenerPos(i).Data.apellido;
                        if (apellido == Busqueda)
                        {
                            Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data;
                            Singleton.Instance.pacientebusqueda.Add(Buscado);
                        }
                    }
                    break;

                case 2:    //DPI
                    for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++)
                    {
                        string DPI = Convert.ToString(Singleton.Instance.listaPacientes.ObtenerPos(i).Data.dpi);
                        if (DPI == Busqueda)
                        {
                            Paciente Buscado = Singleton.Instance.listaPacientes.ObtenerPos(i).Data;
                            Singleton.Instance.pacientebusqueda.Add(Buscado);
                        }
                    }
                    break;
                }
            }
            else
            {
                int  munPivB             = Convert.ToInt32(Busquedaminicipio);
                int  posicionEncontradaI = 0;
                bool encontradoF         = false;
                for (int i = 0; i < Singleton.Instance.cantidadCentros; i++)
                {
                    if (munPivB == Singleton.Instance.listaReferencia.DevolverValue(i))
                    {
                        encontradoF         = true;
                        posicionEncontradaI = i;
                        i = Singleton.Instance.cantidadCentros;
                    }
                }
                if (encontradoF == true)
                {
                    switch (opcion)
                    {
                    case 0:    //Busqueda por nombre
                        Hoja <PacienteIndiceNombre> val    = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteNombre.raiz;
                        Hoja <PacienteIndiceNombre> valorB = new Hoja <PacienteIndiceNombre>();
                        PacienteIndiceNombre        pIn    = new PacienteIndiceNombre(Busqueda);
                        valorB.value = pIn;
                        Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteNombre.Busqueda(val, ref valorB, ref exists);
                        if (exists == true)
                        {
                            for (int i = 0; i < Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.totalPacientes; i++)
                            {
                                if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.nombre == Busqueda)
                                {
                                    Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data;
                                    Singleton.Instance.pacientebusqueda.Add(Buscado);
                                }
                            }
                        }
                        break;

                    case 1:    //apellido
                        Hoja <PacienteIndiceApellido> valAp    = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteApellido.raiz;
                        Hoja <PacienteIndiceApellido> valorBAp = new Hoja <PacienteIndiceApellido>();
                        PacienteIndiceApellido        pIa      = new PacienteIndiceApellido(Busqueda);
                        valorBAp.value = pIa;
                        Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPacienteApellido.Busqueda(valAp, ref valorBAp, ref exists);
                        if (exists == true)
                        {
                            for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++)
                            {
                                if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.apellido == Busqueda)
                                {
                                    Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data;
                                    Singleton.Instance.pacientebusqueda.Add(Buscado);
                                }
                            }
                        }
                        break;

                    case 2:    //DPI
                        Hoja <PacienteIndice> valDpi    = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPaciente.raiz;
                        Hoja <PacienteIndice> valorBdpi = new Hoja <PacienteIndice>();
                        PacienteIndice        pId       = new PacienteIndice(Busqueda);
                        valorBdpi.value = pId;
                        Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.avlPaciente.Busqueda(valDpi, ref valorBdpi, ref exists);

                        if (exists == true)
                        {
                            for (int i = 0; i < Singleton.Instance.listaPacientes.Cantidad; i++)
                            {
                                if (Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data.dpi == Convert.ToInt32(Busqueda))
                                {
                                    Paciente Buscado = Singleton.Instance.listaCentrosVacunacion.ObtenerPos(posicionEncontradaI).Data.listaPacientes.ObtenerPos(i).Data;
                                    Singleton.Instance.pacientebusqueda.Add(Buscado);
                                }
                            }
                        }
                        break;
                    }
                }
            }

            return(View(Singleton.Instance.pacientebusqueda));
        }
        public ActionResult Hacerpedido(IFormCollection collection)
        {
            try
            {
                var newPedido = new Models.Clientesdata
                {
                    NIT = Convert.ToInt32(collection["NIT"]),
                    Cantidadmedicamento = Convert.ToInt32(collection["Cantidadmedicamento"]),
                    Name              = collection["Name"],
                    Apellido          = collection["Apellido"],
                    NombreMedicamento = collection["NombreMedicamento"],
                    FechaDeCompra     = Convert.ToString(DateTime.Now.ToShortDateString())
                };

                Hoja <MedicamentoIndice> hojaComparer        = new Hoja <MedicamentoIndice>();
                MedicamentoIndice        medicamentoComparer = new MedicamentoIndice(newPedido.NombreMedicamento, 1);
                hojaComparer.value = medicamentoComparer;
                bool siExiste = false;
                Singleton.Instance.ArbolBinario.PreOrden(Singleton.Instance.ArbolBinario.raiz, ref hojaComparer, ref siExiste);
                MedicamentoIndice buscador = hojaComparer.value;
                int    lineaDeBusqueda     = buscador.linea - 1;
                double total_a_pagar       = 0;;
                if (siExiste == false)
                {
                    ModelState.AddModelError("NombreMedicamento", "Producto no encontrado");
                    newPedido.NombreMedicamento = "";
                    return(View(newPedido));
                    //no existe el medicamento
                }
                else
                {
                    if (Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia > 0 && newPedido.Cantidadmedicamento <= Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia)
                    {
                        Singleton.Instance.clienteslistadata.Add(newPedido);
                        total_a_pagar = Math.Round(((Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Precio) * Convert.ToDouble(newPedido.Cantidadmedicamento)), 2);
                        Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia = Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia - newPedido.Cantidadmedicamento;
                        Singleton.Instance.Listaver[lineaDeBusqueda].Existencia = Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia;
                        newPedido.cantidadpagar = total_a_pagar;
                    }
                    else
                    {
                        if (Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia > 0)
                        {
                            ModelState.AddModelError("Cantidadmedicamento", "Cantidad superior a la existencia" + "\nSolamente se cuenta con " + Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia + " U.");
                            return(View(newPedido));
                        }
                        else
                        {
                            //alerta que no hay medicamento y hay que reabastecer

                            ModelState.AddModelError("Cantidadmedicamento", "Producto agotado");
                            Random rand = new Random();
                            Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia = rand.Next(1, 15);
                            Singleton.Instance.Listaver[lineaDeBusqueda].Existencia = Singleton.Instance.ClientesList.ObtenerPos(lineaDeBusqueda).Data.Existencia;
                            return(View(newPedido));
                        }
                    }
                }
                return(RedirectToAction("Factura", new RouteValueDictionary(new { Controller = "Medicina", Action = "Factura", Apellido = newPedido.Apellido, Nombre = newPedido.Name, Nit = newPedido.NIT, NMed = newPedido.NombreMedicamento, CMed = newPedido.Cantidadmedicamento, TPagar = newPedido.cantidadpagar, Fecha = newPedido.FechaDeCompra })));

                //return RedirectToAction(nameof(totalpedidos));
            }
            catch
            {
                return(View());
            }
        }