Exemple #1
0
        private async Task BitacoraAsync(string accion, EntradaDetalle entradaDetalle, Guid entradaId, string excepcion = "")
        {
            string directorioBitacora = _configuration.GetValue <string>("DirectorioBitacora");

            await _getHelper.SetBitacoraAsync(token, accion, moduloId,
                                              entradaDetalle, entradaId.ToString(), directorioBitacora, excepcion);
        }
        public async Task <BaseResponse> DevuelveDetalleEntrada(int id, string fecha_inicio, string fecha_final)
        {
            using (SqlConnection sql = new SqlConnection(_connectionString))
            {
                BaseResponse response = new BaseResponse();
                response.resultado = new List <object>();

                try
                {
                    using (SqlCommand cmd = new SqlCommand("SP_DEVUELVE_LISTA_ENTRADAS", sql))
                    {
                        cmd.Parameters.Add(new SqlParameter("@CODIGO_BOD", id));
                        if (fecha_inicio != null && fecha_final != null)
                        {
                            cmd.Parameters.Add(new SqlParameter("@FECHA_FINAL", Convert.ToDateTime(fecha_final)));
                            cmd.Parameters.Add(new SqlParameter("@FECHA_INCIO", Convert.ToDateTime(fecha_inicio)));
                        }



                        cmd.CommandType  = System.Data.CommandType.StoredProcedure;
                        response.status  = "correcto";
                        response.mensaje = "Ciudad Guardada Correctamente";
                        EntradaDetalle entrada = new EntradaDetalle();
                        response.codigo = "201";
                        await sql.OpenAsync();

                        using (var reader = await cmd.ExecuteReaderAsync())
                        {
                            while (await reader.ReadAsync())
                            {
                                entrada = MapearEntradaDetalle(reader);
                                response.resultado.Add(entrada);
                            }
                        }
                    }
                }
                catch (Exception)
                {
                    response.status  = "correcto";
                    response.mensaje = "No se pudo guardar la ciudad";
                    response.codigo  = "410";
                }
                return(response);
            }
        }
 private void btnAceptar_Click(object sender, EventArgs e)
 {
     if (douTotal == douRecibida)
     {
         if (ChekaLlenado())
         {
             var bisTmp = new BindingSource();
             for (var i = 0; i < dgvEntradaCaducidad.Rows.Count - 1; i++)
             {
                 var objTmp = new EntradaDetalle()
                 {
                     //IdEntradaDetalle = (long)dgvEntradaCaducidad[3, i].Value,
                     Articulo = ArticuloActual,
                     NoLote = dgvEntradaCaducidad[0, i].Value.ToString(),
                     Cantidad = Convert.ToDecimal(dgvEntradaCaducidad[1, i].Value.ToString()),
                     Existencia = Convert.ToDecimal(dgvEntradaCaducidad[1, i].Value.ToString()),
                     FechaCaducidad = Convert.ToDateTime(dgvEntradaCaducidad[2, i].Value.ToString()),
                     PrecioEntrada = douPrecioEntrada,
                     Clave = ArticuloActual.Id.CveArt
                 };
                 if (dgvEntradaCaducidad[3, i].Value!=null)
                 {
                     objTmp.IdEntradaDetalle = (long) dgvEntradaCaducidad[3, i].Value;
                 }
                 bisTmp.Add(objTmp);
             }
             FrmEntrada.lstEntradaDetalle.Add(bisTmp);
             bolModificacion = true;
             Close();
         }
         else
         {
             MessageBox.Show(@"Celda en Blanco, Verifique . .",
                            @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show(@"Cantidad Total Debe ser Igual a la Cantidad Recibida, Verifique . .",
                            @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Exemple #4
0
        private void ValidarDatosDelProducto(EntradaDetalle entradaDetalle)
        {
            if (entradaDetalle.PrecioVenta == null || entradaDetalle.PrecioVenta <= 0)
            {
                TempData["toast"] = "Precio de venta incorrecto.";
                ModelState.AddModelError("PrecioVenta", "Precio de venta incorrecto.");
            }

            if (entradaDetalle.Cantidad == null || entradaDetalle.Cantidad <= 0)
            {
                TempData["toast"] = "Cantidad de productos incorrecto.";
                ModelState.AddModelError("Cantidad", "Precio de venta incorrecto.");
            }

            if (entradaDetalle.PrecioCosto == null || entradaDetalle.PrecioCosto < 0)
            {
                TempData["toast"] = "Precio de costo incorrecto.";
                ModelState.AddModelError("PrecioCosto", "Precio de venta incorrecto.");
            }
        }
        public EntradaDetalle MapearEntradaDetalle(SqlDataReader reader)
        {
            EntradaDetalle entrada = new EntradaDetalle();

            entrada.fecha  = Convert.ToDateTime(reader["FECHA_CREACION_ENT"]);
            entrada.nombre = Convert.ToString(reader["NOMBRE_PRO"]);
            try
            {
                entrada.serie = Convert.ToString(reader["NUM_SERIE_PRO"]);
            }
            catch (Exception)
            {
                entrada.serie = "";
            }
            entrada.parte     = Convert.ToString(reader["NUM_PART_PRO"]);
            entrada.cantidad  = Convert.ToInt32(reader["CANTIDAD_ENT"]);
            entrada.proveedor = Convert.ToString(reader["NOMBRE_PRV"]);
            entrada.modelo    = Convert.ToString(reader["NOMBRE_MODELO"]);
            entrada.ubicacion = Convert.ToString(reader["DESCRIPCION_UBI"]);
            entrada.detalle   = Convert.ToString(reader["DETALLE_ENT"]);
            return(entrada);
        }
        public static void EliminarDetalle(Entrada entrada)
        {
            Contexto contexto = new Contexto();
            RepositorioBase <Articulo> repositorio = new RepositorioBase <Articulo>();

            foreach (var item in entrada.Detalle)
            {
                Articulo articulo = new Articulo();
                articulo = repositorio.Buscar(item.ArticuloID);

                RepositorioBase <EntradaDetalle> db = new RepositorioBase <EntradaDetalle>();
                EntradaDetalle details = db.Buscar(item.Id);
                if (details is null)
                {
                    return;
                }
                articulo.Cantidad         -= details.Cantidad;
                contexto.Entry(item).State = EntityState.Deleted;
                contexto.SaveChanges();
                repositorio.Modificar(articulo);
            }
        }
 public ResguardoEntrega(long idresguardo, EntradaDetalle entradaDetalle)
 {
     this._idresguardo = idresguardo;
     this._entradadetalle = entradaDetalle;
 }
Exemple #8
0
        public async Task <IActionResult> EditDetails(EntradaDetalle entradaDetalle)
        {
            var validateToken = await ValidatedToken(_configuration, _getHelper, "movimiento");

            if (validateToken != null)
            {
                return(validateToken);
            }

            if (!await ValidateModulePermissions(_getHelper, moduloId, eTipoPermiso.PermisoEscritura))
            {
                return(RedirectToAction(nameof(Index)));
            }

            if (entradaDetalle == null)
            {
                TempData["toast"] = "Identificador incorrecto.";
                return(RedirectToAction(nameof(Index)));
            }

            if (EntradaAplicada(entradaDetalle.EntradaID))
            {
                TempData["toast"] = "Entrada aplicada no se permiten cambios.";
                return(RedirectToAction(nameof(Details), new { id = entradaDetalle.EntradaID }));
            }

            if (entradaDetalle.AlmacenID == null)
            {
                ModelState.AddModelError("AlmacenID", "El campo almacén es requerido.");
                return(View(entradaDetalle));
            }

            if (entradaDetalle.ProductoID == null)
            {
                ModelState.AddModelError("ProductoID", "El campo producto es requerido.");
                return(View(entradaDetalle));
            }

            var almacen = await _getHelper.GetAlmacenByIdAsync((Guid)entradaDetalle.AlmacenID);

            var producto = await _getHelper.GetProductByIdAsync((Guid)entradaDetalle.ProductoID);

            TempData["toast"] = "Información incompleta, verifique los campos.";

            ValidarDatosDelProducto(entradaDetalle);

            if (ModelState.IsValid)
            {
                if (almacen == null)
                {
                    ModelState.AddModelError("AlmacenID", "El campo almacén es requerido.");
                    return(View(entradaDetalle));
                }

                if (producto == null)
                {
                    ModelState.AddModelError("ProductoID", "El campo producto es requerido.");
                    return(View(entradaDetalle));
                }

                if (producto.Unidades.Pieza)
                {
                    entradaDetalle.Cantidad = (int)entradaDetalle.Cantidad;
                }

                try
                {
                    _context.Update(entradaDetalle);

                    await _context.SaveChangesAsync();

                    TempData["toast"] = "Los datos del producto fueron actualizados correctamente.";
                    await BitacoraAsync("Actualizar", entradaDetalle, entradaDetalle.EntradaID);

                    return(RedirectToAction(nameof(Details), new { id = entradaDetalle.EntradaID }));
                }
                catch (Exception ex)
                {
                    string excepcion = ex.InnerException != null?ex.InnerException.Message.ToString() : ex.ToString();

                    TempData["toast"] = "[Error] Los datos del producto no fueron actualizados.";
                    ModelState.AddModelError(string.Empty, "Error al actualizar el registro");
                    await BitacoraAsync("Actualizar", entradaDetalle, entradaDetalle.EntradaID, excepcion);
                }
            }

            entradaDetalle.Productos = producto;

            return(View(entradaDetalle));
        }
        private void dgvEntradaDetalle_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            //Para realizar las validaciones
               try
               {
               //Posicionado en renglon}
               if (e.ColumnIndex == 0)
               {
                   if (TieneRepetidoRenglon(Convert.ToInt32(dgvEntradaDetalle[e.ColumnIndex, e.RowIndex].Value)))
                   {
                       bisEntradaDetalle.RemoveAt(e.RowIndex);
                       MessageBox.Show(@"Articulo Repetido, Verifique . .",
                                        @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
                   }
                   else
                   {

                       var objArticuloId = new ArticuloId(Convert.ToInt32(dgvEntradaDetalle[e.ColumnIndex, e.RowIndex].Value),
                                                           FrmAlmacen.AlmacenActual);
                       var objArticulo = EntradaService.ArticuloDao.Get(objArticuloId);
                       if (objArticulo != null)
                       {
                           var objEntradaDetalle = new EntradaDetalle
                           {
                               Articulo = objArticulo
                           };
                           bisEntradaDetalle.RemoveAt(e.RowIndex);
                           bisEntradaDetalle.Insert(e.RowIndex, objEntradaDetalle);
                       }
                       else
                       {
                           bisEntradaDetalle.RemoveAt(e.RowIndex);
                           MessageBox.Show(@"La Clave del Articulo No Existe, Verifique . .",
                                   @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Information);
                       }
                       return;
                   }
               }

               if (e.ColumnIndex == 5)
               {
                   if (Convert.ToDecimal(dgvEntradaDetalle[e.ColumnIndex, e.RowIndex].Value) > Convert.ToDecimal(dgvEntradaDetalle[3, e.RowIndex].Value))
                   {
                       MessageBox.Show(@"Existencia Insuficiente, Verifique . .",
                                       @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
                       dgvEntradaDetalle[e.ColumnIndex, e.RowIndex].Value = "";
                   }
               }

               }
               catch (Exception ee)
               {
               MessageBox.Show(@"Ocurrio un error en la insercion del Articulo " + ee.Message,
                    @"Almacenes", MessageBoxButtons.OK, MessageBoxIcon.Error);
               }
        }