private void PrepararDatos(ref IngresoOtroConceptoDTO ingreso) { var operacionDocumentos = OperacionDocumentoBL.Instancia.GetByOperacion(ingreso.IdOperacion); var tiposDocumentos = ItemTablaBL.Instancia.GetByTabla((int)TipoTabla.TipoComprobante); var documentos = new List <Comun>(); foreach (var documento in operacionDocumentos) { var tipoDocumento = tiposDocumentos.FirstOrDefault(p => p.IdItemTabla == documento.TipoDocumento); documentos.Add(new Comun { Id = documento.TipoDocumento, Nombre = tipoDocumento.Valor }); } var sucursales = SucursalBL.Instancia.GetAutorizadas(IdEmpresa, UsuarioActual.IdEmpleado); var direcciones = new List <Comun>(); foreach (var sucursal in sucursales) { var ubigeo = UbigeoBL.Instancia.Single(sucursal.IdUbigeo); direcciones.Add(new Comun { Id = sucursal.IdSucursal, Nombre = string.Format("{0} - {1}, {2}", sucursal.Nombre, sucursal.Direccion, ubigeo.Direccion) }); } if (ingreso.IdTransaccion == 0) { var transaccionImpuesto = new List <TransaccionImpuesto>(); var operacionImpuestos = OperacionImpuestoBL.Instancia.GetByOperacion(ingreso.IdOperacion); foreach (var operacionImpuesto in operacionImpuestos) { transaccionImpuesto.Add(new TransaccionImpuesto { IdImpuesto = operacionImpuesto.IdImpuesto, Secuencia = operacionImpuesto.Orden, Tasa = operacionImpuesto.Impuesto.Monto, NombreImpuesto = operacionImpuesto.Impuesto.Nombre, Signo = operacionImpuesto.Impuesto.Signo, EsEditable = Convert.ToBoolean(operacionImpuesto.Impuesto.EsEditable) }); } ingreso.TransaccionImpuesto = transaccionImpuesto.OrderBy(p => p.Secuencia).ToList(); } else { ingreso.TransaccionImpuesto = TransaccionImpuestoBL.Instancia.GetByTransaccion(ingreso.IdTransaccion); } ingreso.Documentos = documentos; ingreso.Direcciones = direcciones; ingreso.Monedas = MonedaBL.Instancia.GetAll(); ingreso.Almacenes = AlmacenBL.Instancia.GetByIdSucursal(IdSucursal); }
public bool Actualizar(IngresoOtroConceptoDTO transaccion) { try { return(repository.Actualizar(transaccion)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ActionResult Crear() { ViewData["Accion"] = "Crear"; var ingreso = new IngresoOtroConceptoDTO { IdOperacion = IdOperacion, FechaDocumento = FechaSistema, Estado = (int)TipoEstadoTransaccion.Registrado, }; DetalleOtrosIngresos = new List <MovimientoProducto>(); PrepararDatos(ref ingreso); return(PartialView("OtrosIngresosPanel", ingreso)); }
public JsonResult Modificar(IngresoOtroConceptoDTO ingreso) { var jsonResponse = new JsonResponse(); if (ModelState.IsValid) { try { var ingresoOriginal = IngresoOtroConceptoBL.Instancia.Single(ingreso.IdTransaccion); var operacion = OperacionBL.Instancia.Single(IdOperacion); ingresoOriginal.IdPersona = UsuarioActual.IdEmpleado; ingresoOriginal.IdAlmacen = ingreso.IdAlmacen; ingresoOriginal.FechaEntrega = ingreso.FechaEntrega; ingresoOriginal.Glosa = ingreso.Glosa; ingresoOriginal.MontoTipoCambio = ingreso.MontoTipoCambio; ingresoOriginal.IdEmpleado = UsuarioActual.IdEmpleado; ingresoOriginal.UsuarioCreacion = UsuarioActual.IdEmpleado; ingresoOriginal.UsuarioModificacion = UsuarioActual.IdEmpleado; ingresoOriginal.MovimientoProducto = new List <MovimientoProducto>(); ingresoOriginal.TransaccionImpuesto = new List <TransaccionImpuesto>(); if (DetalleOtrosIngresos.Count == 0) { jsonResponse.Success = false; jsonResponse.Message = "No se puede registrar sin ingresar los productos."; } else { var secuencia = 0; foreach (var movimientoProducto in DetalleOtrosIngresos) { movimientoProducto.Secuencia = ++secuencia; movimientoProducto.FechaRegistro = ingreso.FechaDocumento; movimientoProducto.IdAlmacen = ingreso.IdAlmacen; movimientoProducto.SignoStock = operacion.SignoStock; movimientoProducto.Estado = (int)TipoEstadoTransaccion.Registrado; movimientoProducto.FechaCreacion = FechaCreacion; movimientoProducto.FechaModificacion = FechaModificacion; movimientoProducto.UsuarioCreacion = UsuarioActual.IdEmpleado; movimientoProducto.UsuarioModificacion = UsuarioActual.IdEmpleado; var secuenciaDetalle = 0; foreach (var productoStock in movimientoProducto.MovimientoProductoStock) { productoStock.Secuencia = ++secuenciaDetalle; productoStock.IdAlmacen = ingreso.IdAlmacen.Value; } if (movimientoProducto.MovimientoProductoStock.Count == 0) { movimientoProducto.MovimientoProductoStock.Add( new MovimientoProductoStock { Secuencia = 1, IdAlmacen = ingreso.IdAlmacen.Value, Cantidad = movimientoProducto.Cantidad, LoteSerie = string.Empty }); } ingresoOriginal.MovimientoProducto.Add(movimientoProducto); } IngresoOtroConceptoBL.Instancia.Actualizar(ingresoOriginal); jsonResponse.Success = true; jsonResponse.Message = "El ingreso se modifico correctamente."; } } catch (Exception ex) { jsonResponse.Message = ex.Message; } } else { jsonResponse.Message = "Por favor ingrese todos los campos requeridos"; } return(Json(jsonResponse, JsonRequestBehavior.AllowGet)); }