public ActionResult Guardar(int pMovimientoId, int pAlmacenId, int pTipoMovimientoId, string pFecha, string pObservacion) { if (pMovimientoId == 0) { var item = new Movimiento { MovimientoId = pMovimientoId, AlmacenId = pAlmacenId, TipoMovimientoId = pTipoMovimientoId, Fecha = VendixGlobal.GetFecha(), EstadoId = 1, Observacion = string.Empty, IGV = 0, TotalImporte = 0, SubTotal = 0, AjusteRedondeo = 0 }; MovimientoBL.Crear(item); pMovimientoId = item.MovimientoId; } else { MovimientoBL.ActualizarMov(pMovimientoId, pTipoMovimientoId, DateTime.Parse(pFecha), pObservacion); } return(Json(pMovimientoId, JsonRequestBehavior.AllowGet)); }
public JsonResult RealizarSalida(int tipoMovId, string glosa, List <SerieSalida> series) { var oficinaid = VendixGlobal.GetOficinaId(); var almacenId = AlmacenBL.Obtener(x => x.OficinaId == oficinaid).AlmacenId; var listamovdet = new List <MovimientoDet>(); using (var scope = new TransactionScope()) { try { var mov = new Movimiento() { TipoMovimientoId = tipoMovId, AlmacenId = almacenId, Fecha = VendixGlobal.GetFecha(), SubTotal = 0, IGV = 0, AjusteRedondeo = 0, TotalImporte = 0, EstadoId = 3, Observacion = glosa }; MovimientoBL.Crear(mov); foreach (var item in series) { bool f = false; foreach (var i in listamovdet) { if (item.ArticuloId == i.ArticuloId) { f = true; i.Cantidad++; i.Descripcion += ", " + item.Serie; } } if (f == false) { listamovdet.Add(new MovimientoDet() { MovimientoId = mov.MovimientoId, Cantidad = 1, ArticuloId = item.ArticuloId, Descripcion = item.Denominacion + " " + item.Serie, Descuento = 0, Importe = 0, IndCorrelativo = false, UnidadMedidaT10 = 1 }); } } foreach (var item in listamovdet) { MovimientoDetBL.Crear(item); var ser = series.FindAll(x => x.ArticuloId == item.ArticuloId); SerieArticulo s; foreach (var x in ser) { s = SerieArticuloBL.Obtener(x.SerieId); s.EstadoId = 5; //anulado s.MovimientoDetSalId = item.MovimientoDetId; SerieArticuloBL.Actualizar(s); } } scope.Complete(); return(Json(string.Empty)); } catch (Exception ex) { scope.Dispose(); return(Json(ex.InnerException.Message)); } } }