private void PrepararDatos(ref DevolucionMercaderia devolucion) { var operacionDocumentos = OperacionDocumentoBL.Instancia.GetByOperacion(devolucion.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 (devolucion.IdTransaccion == 0) { var transaccionImpuesto = new List <TransaccionImpuesto>(); var operacionImpuestos = OperacionImpuestoBL.Instancia.GetByOperacion(devolucion.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) }); } devolucion.TransaccionImpuesto = transaccionImpuesto.OrderBy(p => p.Secuencia).ToList(); } else { devolucion.TransaccionImpuesto = TransaccionImpuestoBL.Instancia.GetByTransaccion(devolucion.IdTransaccion); } devolucion.Documentos = documentos; devolucion.Direcciones = direcciones; devolucion.Monedas = MonedaBL.Instancia.GetAll(); devolucion.Almacenes = AlmacenBL.Instancia.GetByIdSucursal(IdSucursal); }
public bool Actualizar(DevolucionMercaderia transaccion) { try { return(repository.Actualizar(transaccion)); } catch (Exception ex) { throw new Exception(ex.Message); } }
public ActionResult Crear() { ViewData["Accion"] = "Crear"; var devolucion = new DevolucionMercaderia() { IdOperacion = IdOperacion, FechaDocumento = FechaSistema, Estado = (int)TipoEstadoTransaccion.Registrado, }; DetalleDevolucion = new List <MovimientoProducto>(); PrepararDatos(ref devolucion); return(PartialView("DevolucionMercaderiaPanel", devolucion)); }
public JsonResult Modificar(DevolucionMercaderia devolucion) { var jsonResponse = new JsonResponse(); if (ModelState.IsValid) { try { var devolucionOriginal = DevolucionMercaderiaBL.Instancia.Single(devolucion.IdTransaccion); var operacion = OperacionBL.Instancia.Single(IdOperacion); devolucionOriginal.IdPersona = UsuarioActual.IdEmpleado; devolucionOriginal.IdAlmacen = devolucion.IdAlmacen; devolucionOriginal.FechaEntrega = devolucion.FechaEntrega; devolucionOriginal.Glosa = devolucion.Glosa; devolucionOriginal.MontoTipoCambio = devolucion.MontoTipoCambio; devolucionOriginal.IdEmpleado = UsuarioActual.IdEmpleado; devolucionOriginal.UsuarioCreacion = UsuarioActual.IdEmpleado; devolucionOriginal.UsuarioModificacion = UsuarioActual.IdEmpleado; devolucionOriginal.MovimientoProducto = new List <MovimientoProducto>(); devolucionOriginal.TransaccionImpuesto = new List <TransaccionImpuesto>(); var secuencia = 0; foreach (var movimientoProducto in DetalleDevolucion) { movimientoProducto.Secuencia = ++secuencia; movimientoProducto.FechaRegistro = devolucion.FechaDocumento; movimientoProducto.IdAlmacen = devolucion.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 = devolucion.IdAlmacen.Value; } if (movimientoProducto.MovimientoProductoStock.Count == 0) { movimientoProducto.MovimientoProductoStock.Add( new MovimientoProductoStock { Secuencia = 1, IdAlmacen = devolucion.IdAlmacen.Value, Cantidad = movimientoProducto.Cantidad, LoteSerie = string.Empty }); } devolucionOriginal.MovimientoProducto.Add(movimientoProducto); } DevolucionMercaderiaBL.Instancia.Actualizar(devolucionOriginal); jsonResponse.Success = true; jsonResponse.Message = "Se Proceso con exito."; } catch (Exception ex) { jsonResponse.Message = ex.Message; } } else { jsonResponse.Message = "Por favor ingrese todos los campos requeridos"; } return(Json(jsonResponse, JsonRequestBehavior.AllowGet)); }