コード例 #1
0
        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);
        }
コード例 #2
0
 public bool Actualizar(DevolucionMercaderia transaccion)
 {
     try
     {
         return(repository.Actualizar(transaccion));
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message);
     }
 }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }