예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            MovimientoESA movimientoESA = db.MovimientoESA.Find(id);

            db.MovimientoESA.Remove(movimientoESA);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
0
 public ActionResult Edit([Bind(Include = "IdMovimientoESA,Fecha,Precio,Cantidad,IdMaterial,IdTipoM,IdContacto,Estado")] MovimientoESA movimientoESA)
 {
     if (ModelState.IsValid)
     {
         db.Entry(movimientoESA).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.IdContacto = new SelectList(db.Contactos, "IdContacto", "Contacto", movimientoESA.IdContacto);
     //  ViewBag.IdMaterial = new SelectList(db.Materiales, "IdMaterial", "Material", movimientoESA.IdMaterial);
     ViewBag.IdTipoM = new SelectList(db.TiposMovimientos, "IdTipoM", "Movimiento", movimientoESA.IdTipoM);
     return(View(movimientoESA));
 }
예제 #3
0
        // GET: MovimientoESAs/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MovimientoESA movimientoESA = db.MovimientoESA.Find(id);

            if (movimientoESA == null)
            {
                return(HttpNotFound());
            }
            return(View(movimientoESA));
        }
예제 #4
0
        public async Task <JsonResult> Guardar(MovimientoView objMovimiento)
        {
            bool status = false;
            int  idi    = 0;

            if (!ModelState.IsValid)
            {
                return new JsonResult {
                           Data = new { status, idi }
                }
            }
            ;

            var     cantidad  = objMovimiento.Cantidad;
            decimal subtotal  = 0;
            decimal cargo     = 0;
            decimal descuento = 0;

            var mat = db.Materiales.Find(objMovimiento.IdMaterial);

            if (mat != null)
            {
                mat.Existencia -= cantidad;

                subtotal = (decimal)mat.Precio * cantidad;

                cargo     = 0; // subtotal * (mat.cargo/100)
                descuento = 0; // subtotal * (mat.descuento/100)

                var objDetalle = new MovimientoESADet
                {
                    IdMovimientoESA = 0,
                    IdMaterial      = objMovimiento.IdMaterial,
                    Cantidad        = cantidad,
                    SubTotal        = subtotal,
                    Cargos          = cargo,
                    Descuentos      = descuento,
                    Total           = subtotal + cargo - descuento
                };

                if (objMovimiento.IdMovimientoESA != 0)
                {
                    var mo = db.MovimientoESA.FirstOrDefault(p =>
                                                             p.IdMovimientoESA == objMovimiento.IdMovimientoESA);
                    if (mo != null)
                    {
                        mo.SubTotalGeneral     += subtotal;
                        mo.CargosGenerales     += cargo;
                        mo.DescuentosGenerales += descuento;
                        mo.TotalGeneral         = mo.SubTotalGeneral + mo.CargosGenerales - mo.DescuentosGenerales;
                        mo.Estado     = objMovimiento.Estado;
                        mo.IdContacto = objMovimiento.IdContacto;
                        mo.IdTipoM    = objMovimiento.IdTipoM;

                        mo.Fecha           = objMovimiento.Fecha;
                        db.Entry(mo).State = EntityState.Modified;
                    }

                    objMovimiento.IdMovimientoESA = mo.IdMovimientoESA;
                }
                else
                {
                    var mo = new MovimientoESA
                    {
                        SubTotalGeneral     = mat.Precio * cantidad,
                        CargosGenerales     = cargo,
                        DescuentosGenerales = descuento,
                        TotalGeneral        = (mat.Precio * cantidad) + cargo - descuento,
                        Estado     = objMovimiento.Estado,
                        IdContacto = objMovimiento.IdContacto,
                        IdTipoM    = objMovimiento.IdTipoM,
                        Fecha      = objMovimiento.Fecha
                    };

                    db.MovimientoESA.Add(mo);
                    try
                    {
                        db.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e);
                        throw;
                    }

                    objMovimiento.IdMovimientoESA = mo.IdMovimientoESA;
                }

                objDetalle.IdMovimientoESA = objMovimiento.IdMovimientoESA;

                db.MovimientoESADet.Add(objDetalle);
            }

            db.Entry(mat).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }

            idi = objMovimiento.IdMovimientoESA;

            if (idi != 0)
            {
                status = true;
            }

            return(new JsonResult {
                Data = new { status, idi }
            });
        }