Пример #1
0
        //[ValidateAntiForgeryToken]
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            var Producto = db.Productos.Find(id);
            //BUSCANDO QUE PRODUCTO NO TENGA SALIDAS NI ENTRADAS REGISTRADAS CON SU ID
            DetalleDeEntrada oEnt = db.DetallesDeEntrada.DefaultIfEmpty(null).FirstOrDefault(e => e.ProductoId == Producto.Id);
            DetalleDeSalida  oSal = db.DetallesDeSalida.DefaultIfEmpty(null).FirstOrDefault(s => s.ProductoId == Producto.Id);

            using (var transact = db.Database.BeginTransaction()) {
                try {
                    //SI NO SE ENCUENTRAN SALIDAS O ENTRADAS
                    if (oEnt == null || oSal == null)
                    {
                        db.Productos.Remove(Producto);
                        completado = await db.SaveChangesAsync() > 0 ? true : false;

                        mensaje = completado ? "Eliminado correctamente" : "Error al eliminar";
                    }
                    else
                    {
                        mensaje = "Se encontraron movimientos asociados a este producto";
                    }

                    transact.Commit();
                } catch (Exception) {
                    mensaje = "Error al eliminar";
                    transact.Rollback();
                } //FIN TRY-CATCH
            }     //FIN USING

            return(Json(new { success = completado, message = mensaje }, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public ActionResult AddEntrada(string Codigo, DateTime FechaEntrada, int TipoEntradaId, int BodegaId, int ProveedorId, string detalleEntrada)
        {
            var DetalleEntrada = JsonConvert.DeserializeObject <List <DetalleDeEntrada> >(detalleEntrada);

            //GUARDAR PRIMERO EL ENCABEZAADO
            Entrada entrada = new Entrada();

            entrada.CodigoEntrada = Codigo;
            entrada.FechaEntrada  = Convert.ToDateTime(FechaEntrada);
            entrada.TipoEntradaId = TipoEntradaId;
            entrada.BodegaId      = BodegaId;
            entrada.ProveedorId   = ProveedorId;
            entrada.EstadoEntrada = true;

            db.Entradas.Add(entrada);

            if (db.SaveChanges() > 0)
            {
                foreach (var item in DetalleEntrada)
                {
                    DetalleDeEntrada detalleItem = new DetalleDeEntrada();

                    detalleItem.CantidadEntrada = item.CantidadEntrada;
                    detalleItem.PrecioEntrada   = item.PrecioEntrada;
                    detalleItem.ProductoId      = item.ProductoId;
                    detalleItem.EntradaId       = entrada.Id;

                    db.DetallesDeEntrada.Add(detalleItem);
                }

                completado = db.SaveChanges() > 0 ? true : false;
                mensaje    = completado ? "Almacenado correctamente" : "Error al almacenar";
            }

            return(Json(new { success = completado }, JsonRequestBehavior.AllowGet));
        }