public async Task <IActionResult> OnGetAsync(string id)
        {
            if (!User.IsInRole(Constants.Bookkeeper) && !User.IsInRole(Constants.Administrator) && !User.IsInRole(Constants.Cashier))
            {
                return(NotFound());
            }

            if (id == null)
            {
                return(NotFound());
            }

            Purchases = await Context.Purchases
                        .Include(p => p.Performance)
                        .Include(p => p.PerformanceDate)
                        .Include(p => p.PurchaseMethod)
                        .Include(p => p.User).FirstOrDefaultAsync(m => m.Id == id);

            if (Purchases == null)
            {
                return(NotFound());
            }

            ViewData["PerformanceId"]     = new SelectList(Context.Performances, "Id", "Name");
            ViewData["PerformanceDateId"] = new SelectList(Context.PerformanceDates.Where(x => x.PerformanceId == Purchases.PerformanceId), "Id", "Begins");
            ViewData["PurchaseMethodId"]  = new SelectList(Context.PurchaseMethods, "Id", "Name");
            ViewData["UserId"]            = new SelectList(Context.AspNetUsers, "Id", "UserName");
            return(Page());
        }
示例#2
0
        public async Task <IActionResult> OnPostAsync(string id)
        {
            if (!User.IsInRole(Constants.Bookkeeper) && !User.IsInRole(Constants.Administrator) && !User.IsInRole(Constants.Cashier))
            {
                return(NotFound());
            }

            if (id == null)
            {
                return(NotFound());
            }

            Purchases = await Context.Purchases.FindAsync(id);

            if (Purchases != null)
            {
                Context.Purchases.Remove(Purchases);
                await Context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
示例#3
0
        public async Task <IActionResult> OnGetAsync(string id)
        {
            if (!User.IsInRole(Constants.Bookkeeper) && !User.IsInRole(Constants.Administrator) && !User.IsInRole(Constants.Cashier))
            {
                return(NotFound());
            }

            if (id == null)
            {
                return(NotFound());
            }

            Purchases = await Context.Purchases
                        .Include(p => p.Performance)
                        .Include(p => p.PerformanceDate)
                        .Include(p => p.PurchaseMethod)
                        .Include(p => p.User).FirstOrDefaultAsync(m => m.Id == id);

            if (Purchases == null)
            {
                return(NotFound());
            }
            return(Page());
        }
示例#4
0
        private void button2_Click(object sender, EventArgs e)
        {
            bool valido = true;

            foreach (DataGridViewRow row in dtProductos.Rows)
            {
                if (row.DefaultCellStyle.BackColor.Name.ToString() == "Red")
                {
                    valido = false;
                }
            }
            if (valido == false)
            {
                Autenficiar auto = new Autenficiar();
                Autenficiar.origen = "Compras";
                auto.ShowDialog();
                Models.Log historial = new Models.Log();
                using (historial)
                {
                    foreach (DataGridViewRow row in dtProductos.Rows)
                    {
                        if (row.DefaultCellStyle.BackColor.Name.ToString() == "Red")
                        {
                            historial.Id_usuario  = Autorizo;
                            historial.Descripcion = "autorizo el  ingreso de la compra de " + row.Cells["descripcion"].Value.ToString() + " que llego mas caro ";
                            historial.createLog();
                        }
                    }
                }

                valido = true;
            }
            if (valido == true)
            {
                int    dias          = 0;
                string fecha_credito = "0000-00-00";
                string pagado        = "SI";
                if (chkContado.Checked != true)
                {
                    dias          = Convert.ToInt16(txtdias.Text);
                    fecha_credito = dtVencimiento.Text;
                    pagado        = "NO";
                }
                Models.Compras compra = new Models.Compras(
                    0,
                    txtFolio.Text,
                    dtFecha.Text,
                    dtFechaDoc.Text,
                    txtNumero.Text,
                    "A",
                    dias,
                    fecha_credito,
                    pagado,
                    Convert.ToDouble(txtSubtotal.Text),
                    Convert.ToDouble(txtiva.Text),
                    Convert.ToDouble(txttotal.Text),
                    Convert.ToDouble(txtdescuento.Text),
                    dtRecepcion.Text,
                    Autorizo
                    );
                using (compra)
                {
                    compra.crateCompra();

                    Models.Log historial = new Models.Log();
                    using (historial)
                    {
                        historial.Id_usuario  = Convert.ToInt32(Inicial.id_usario);
                        historial.Descripcion = "agrego la compra " + txtFolio.Text + "del proveedor " + cbProveedor.Text + " por $ " + txttotal.Text;
                        historial.createLog();
                    }


                    List <Models.Compras> resultado = compra.GetlastCompras(dtFecha.Text, dtFechaDoc.Text, txtNumero.Text, Convert.ToDouble(txttotal.Text));
                    Models.Purchases      detalles  = new Models.Purchases();
                    detalles.Id        = 0;
                    detalles.Id_compra = resultado[0].Id;
                    Models.Kardex      kardex   = new Models.Kardex();
                    Models.Product     producto = new Models.Product();
                    Models.Afecta_inv  afecta   = new Models.Afecta_inv();
                    Models.Caducidades Caducida = new Models.Caducidades();
                    Models.prov_prod   costos   = new Models.prov_prod();
                    Caducida.Id        = 0;
                    Caducida.Id_compra = resultado[0].Id;
                    double nuevo = 0;
                    foreach (DataGridViewRow row in dtProductos.Rows)
                    {
                        using (producto)
                        {
                            List <Models.Product> prod = producto.getProductById(Convert.ToInt16(row.Cells["id_producto"].Value.ToString()));

                            nuevo = Convert.ToDouble(row.Cells["cantidad"].Value.ToString());
                            while (prod[0].Parent != "0")
                            {
                                nuevo = nuevo * Convert.ToInt16(prod[0].C_unidad);
                                prod  = producto.getProductById(Convert.ToInt16(prod[0].Parent));
                            }
                            detalles.Cantidad    = Convert.ToDouble(row.Cells["cantidad"].Value.ToString());
                            detalles.Id_producto = Convert.ToInt32(row.Cells["id_producto"].Value.ToString());
                            detalles.P_u         = Convert.ToDouble(row.Cells["p_u"].Value.ToString());
                            detalles.Total       = Convert.ToDouble(row.Cells["total"].Value.ToString());
                            using (detalles)
                            {
                                using (costos)
                                {
                                    List <Models.prov_prod> cost = costos.get_costobyproveedorandprodu(Convert.ToInt32(row.Cells["id_producto"].Value.ToString()), Convert.ToInt32(txtNumero.Text));
                                    if (cost.Count > 0)
                                    {
                                        costos.Id_producto  = Convert.ToInt32(row.Cells["id_producto"].Value.ToString());
                                        costos.Id_proveedor = Convert.ToInt32(txtNumero.Text);
                                        costos.Cantidad     = cost[0].Cantidad;
                                        costos.Costo        = Convert.ToDouble(row.Cells["p_u"].Value.ToString());
                                        costos.update_from_compra();
                                    }
                                    else
                                    {
                                        costos.Id_producto  = Convert.ToInt32(row.Cells["id_producto"].Value.ToString());
                                        costos.Id_proveedor = Convert.ToInt32(txtNumero.Text);
                                        costos.Cantidad     = Convert.ToDouble(row.Cells["cantidad"].Value.ToString());
                                        costos.Costo        = Convert.ToDouble(row.Cells["p_u"].Value.ToString());
                                        costos.create();
                                    }
                                }
                                detalles.createPurchases();
                                if (row.Cells["lote"].Value.ToString() != "")
                                {
                                    Caducida.Id_producto = prod[0].Id;
                                    Caducida.Caducidad   = row.Cells["caducidad"].Value.ToString();
                                    Caducida.Lote        = row.Cells["lote"].Value.ToString();
                                    Caducida.Cantidad    = nuevo;
                                    using (caducidad)
                                    {
                                        Caducida.createCaducidad();
                                    }
                                }
                                kardex.Fecha        = Convert.ToDateTime(dtFecha.Text).ToString();
                                kardex.Id_producto  = prod[0].Id;
                                kardex.Tipo         = "C";
                                kardex.Cantidad     = nuevo;
                                kardex.Antes        = prod[0].Existencia;
                                kardex.Id           = 0;
                                kardex.Id_documento = Convert.ToInt16(resultado[0].Id);
                                using (kardex)
                                {
                                    kardex.CreateKardex();
                                    List <Models.Kardex> numeracion = kardex.getidKardex(prod[0].Id, Convert.ToInt16(resultado[0].Id), "C");
                                    using (afecta)
                                    {
                                        afecta.Agrega(numeracion[0].Id);
                                    }
                                }
                            }
                        }
                    }
                }


                foreach (DataGridViewRow row in dtDocumentos.Rows)
                {
                    Models.Ordenes_compra ordenes = new Models.Ordenes_compra();
                    using (ordenes)
                    {
                        ordenes.Id        = Convert.ToInt32(row.Cells["documento"].Value.ToString());
                        ordenes.Terminado = true;
                        ordenes.termina_orden();
                    }
                }
                this.Close();
            }
        }
示例#5
0
        private void Form_compras_Load(object sender, EventArgs e)
        {
            txtCodigo.AutoCompleteCustomSource      = cargadatos();
            txtCodigo.AutoCompleteMode              = AutoCompleteMode.SuggestAppend;
            txtCodigo.AutoCompleteSource            = AutoCompleteSource.CustomSource;
            txtDescripcion.AutoCompleteCustomSource = cargadatos2();
            txtDescripcion.AutoCompleteMode         = AutoCompleteMode.SuggestAppend;
            txtDescripcion.AutoCompleteSource       = AutoCompleteSource.CustomSource;



            /*txtCodigo.AutoCompleteCustomSource = cargadatos();
             * txtCodigo.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
             * txtCodigo.AutoCompleteSource = AutoCompleteSource.CustomSource;
             */
            dtRecepcion.Format       = DateTimePickerFormat.Custom;
            dtRecepcion.CustomFormat = "yyyy-MM-dd";

            dtFecha.Format             = DateTimePickerFormat.Custom;
            dtFecha.CustomFormat       = "yyyy-MM-dd";
            dtFechaDoc.Format          = DateTimePickerFormat.Custom;
            dtFechaDoc.CustomFormat    = "yyyy-MM-dd";
            dtVencimiento.Format       = DateTimePickerFormat.Custom;
            dtVencimiento.CustomFormat = "yyyy-MM-dd";
            txtdescuento.Text          = "0";
            carga_proveedor();
            if (folio != "0")
            {
                Models.Compras compra = new Models.Compras();
                using (compra)
                {
                    List <Models.Compras> resultado = compra.getCompraByid(Convert.ToInt16(folio));
                    foreach (Models.Compras item in resultado)
                    {
                        cbProveedor.SelectedText = item.Proveedor;
                        txtFolio.Text            = item.Folio_doc;
                        dtFecha.Text             = item.Fecha;
                        dtFechaDoc.Text          = item.Fecha_doc;
                        txttotal.Text            = item.Total.ToString();
                        txtiva.Text       = item.Iva.ToString();
                        txtdescuento.Text = item.Descuento.ToString();
                        txtSubtotal.Text  = item.Subtotal.ToString();
                        if (item.Pagado == "SI")
                        {
                            chkContado.Checked = true;
                        }
                        else
                        {
                            chkContado.Checked = false;
                        }

                        if (chkContado.Checked == false)
                        {
                            txtdias.Text       = item.Dias.ToString();
                            dtVencimiento.Text = item.Fecha_credito;
                        }
                    }
                }
                Models.Product     producto    = new Models.Product();
                Models.Purchases   detalle     = new Models.Purchases();
                Models.Caducidades caducidades = new Models.Caducidades();
                string             master      = "0";
                int id_prod = 0;
                using (detalle)
                {
                    List <Models.Purchases> resu = detalle.getPurchases(Convert.ToInt16(folio));
                    foreach (Models.Purchases va in resu)
                    {
                        using (producto)
                        {
                            List <Models.Product> prod = producto.getProductById(va.Id_producto);
                            master  = prod[0].Parent;
                            id_prod = prod[0].Id;
                            while (master != "0")
                            {
                                List <Models.Product> encontrado = producto.getProductById(Convert.ToInt16(master));
                                master  = encontrado[0].Parent;
                                id_prod = encontrado[0].Id;
                            }
                            using (caducidades)
                            {
                                List <Models.Caducidades> cadu = caducidades.GetCaducidadesbyCompra(Convert.ToInt16(folio), id_prod);
                                if (cadu.Count > 0)
                                {
                                    dtProductos.Rows.Add(va.Id_producto, prod[0].Code1, va.Cantidad, prod[0].Description, va.P_u, va.Total, cadu[0].Lote, cadu[0].Caducidad);
                                }
                                else
                                {
                                    dtProductos.Rows.Add(va.Id_producto, prod[0].Code1, va.Cantidad, prod[0].Description, va.P_u, va.Total, "", "");
                                }
                            }
                        }
                    }
                }
                txtFolio.Enabled         = false;
                button1.Enabled          = false;
                toolStripButton2.Enabled = false;
                toolStripButton1.Enabled = false;
                button4.Enabled          = false;
                button2.Enabled          = false;
                txtCodigo.Enabled        = false;
                txtDescripcion.Enabled   = false;
                txtdescuento.Enabled     = false;
                txtCantidad.Enabled      = false;
                txtpu.Enabled            = false;
                chkContado.Enabled       = false;
                txtNumero.Enabled        = false;
                cbProveedor.Enabled      = false;
                dtFechaDoc.Enabled       = false;
                dtProductos.Columns["cantidad"].ReadOnly = true;
                txtdescuento.Enabled = false;
            }
        }