public ActionResult GuardarParteRecepcion(SaveParameters parameters)
        {
            var transfer = new ClientTransfer();

            var user = User.Identity;

            if (user == null)
            {
                transfer.Errors.Add(CommonControllerStrings.ErrorSinUsuario);
                return(Json(transfer));
            }
            parameters.IdUsuario = int.Parse(user.Name);
            var res = _pedidosService.GuardarParteRecepcion(parameters);

            if (res.HasErrors)
            {
                transfer.Errors.AddRange(res.Errors);
            }
            if (res.HasWarnings)
            {
                transfer.Warnings.AddRange(res.Warnings);
            }

            var cambiarEstado = _pedidosService.CambiarEstado(parameters.IdPedido.Value, parameters.IdUsuario.Value);
            var pedido        = _pedidosService.Get(parameters.IdPedido.Value);

            transfer.Data = new { EstadoModificado = cambiarEstado, Estado = pedido.Estado.Nombre };
            return(Json(transfer));
        }
Example #2
0
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            if (parameters.IdHaber.HasValue)
            {
                var haber = _dbContext.Haberes.Find(parameters.IdHaber);
                haber.TipoHaberId      = parameters.IdTipoHaber;
                haber.TipoMonedaId     = parameters.IdTipoMoneda;
                haber.ServicioBasicoId = parameters.IdServicioBasico;
                haber.Fecha            = parameters.Fecha;
                haber.Observacion      = parameters.Observacion ?? "";
                haber.Monto            = decimal.Parse(parameters.Monto, CultureInfo.InvariantCulture);
            }
            else
            {
                var haber = new Haber
                {
                    EmpresaId        = parameters.IdEmpresa,
                    TipoHaberId      = parameters.IdTipoHaber,
                    TipoMonedaId     = parameters.IdTipoMoneda,
                    ServicioBasicoId = parameters.IdServicioBasico,
                    Fecha            = parameters.Fecha,
                    Monto            = decimal.Parse(parameters.Monto, CultureInfo.InvariantCulture),
                    Observacion      = parameters.Observacion ?? "",
                };

                _dbContext.Haberes.Add(haber);
            }
            _dbContext.SaveChanges();
            return(result);
        }
Example #3
0
        public CommonRestModel GuardarUsuario(SaveParameters parameters)
        {
            var res = new CommonRestModel();

            if (parameters.IdUsuario.HasValue)
            {
                var usuario = _dbContext.Usuarios.Find(parameters.IdUsuario);
                usuario.Nickname     = parameters.Usuario;
                usuario.Pass         = parameters.Pass;
                usuario.Activo       = parameters.Activo;
                usuario.RolId        = parameters.IdRol;
                usuario.TrabajadorId = parameters.IdTrabajador;
            }
            else
            {
                var usuario = new Usuario
                {
                    Nickname     = parameters.Usuario,
                    Pass         = parameters.Pass,
                    Activo       = parameters.Activo,
                    RolId        = parameters.IdRol,
                    TrabajadorId = parameters.IdTrabajador
                };
                _dbContext.Usuarios.Add(usuario);
            }

            _dbContext.SaveChanges();
            res.CodigoResultado = "0";
            res.Mensaje         = "Ok";
            return(res);
        }
Example #4
0
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            if (parameters.IdPoliza.HasValue)
            {
                var poliza = _dbContext.Polizas.Find(parameters.IdPoliza);
                poliza.Codigo = parameters.Codigo;
                poliza.Nombre = string.IsNullOrEmpty(parameters.Nombre) ? "" : parameters.Nombre;

                if (parameters.Detalles != null && parameters.Detalles.Any())
                {
                    var detallePolizas = _dbContext.DetallePolizas.Where(a => a.PolizaId == parameters.IdPoliza).ToList();
                    _dbContext.DetallePolizas.RemoveRange(detallePolizas);

                    foreach (var detallePoliza in parameters.Detalles)
                    {
                        var detalle = new DetallePoliza
                        {
                            Concepto = detallePoliza.Concepto,
                            Precio   = decimal.Parse(detallePoliza.Precio, CultureInfo.InvariantCulture),
                            PolizaId = parameters.IdPoliza.Value
                        };
                        _dbContext.DetallePolizas.Add(detalle);
                    }
                }
            }
            else
            {
                var poliza = new Poliza
                {
                    Codigo   = parameters.Codigo,
                    Nombre   = string.IsNullOrEmpty(parameters.Nombre) ? "" : parameters.Nombre,
                    PedidoId = parameters.IdPedido
                };

                _dbContext.Polizas.Add(poliza);
                if (parameters.Detalles != null && parameters.Detalles.Any())
                {
                    foreach (var despachoContenedor in parameters.Detalles)
                    {
                        var detalle = new DetallePoliza
                        {
                            Concepto = despachoContenedor.Concepto,
                            Precio   = decimal.Parse(despachoContenedor.Precio, CultureInfo.InvariantCulture),
                            PolizaId = poliza.Id
                        };
                        _dbContext.DetallePolizas.Add(detalle);
                    }
                }
            }
            _dbContext.SaveChanges();
            return(result);
        }
Example #5
0
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            if (parameters.IdPedido.HasValue)
            {
                var pedido = _dbContext.Pedidos.Find(parameters.IdPedido);
                if (!string.IsNullOrEmpty(parameters.Direccion))
                {
                    pedido.Direccion = parameters.Direccion;
                }
                if (!string.IsNullOrEmpty(parameters.DireccionUrl))
                {
                    pedido.DireccionUrl = parameters.DireccionUrl;
                }
                if (!string.IsNullOrEmpty(parameters.Contenedor))
                {
                    pedido.Contenedores = parameters.Contenedor;
                }
            }
            else
            {
                var pedido = new Pedido
                {
                    EmpresaId      = parameters.IdEmpresa,
                    ClienteId      = parameters.IdCliente,
                    Descripcion    = parameters.Descripcion,
                    Direccion      = parameters.Direccion,
                    DireccionUrl   = parameters.DireccionUrl,
                    Contenedores   = parameters.Contenedor,
                    Fecha          = DateTime.Now.Date,
                    EstadoId       = (int)EstadosEnum.Inicio,
                    ParteRecepcion = false
                };

                var seguimiento = new Seguimiento
                {
                    PedidoId    = pedido.Id,
                    Fecha       = DateTime.Now,
                    Descripcion = CommonServiceStrings.TextSegCrearPedido,
                    TipoId      = (int)TipoSeguimientoEnum.EstadoPedido,
                    UsuarioId   = parameters.IdUsuario.Value
                };

                _dbContext.Pedidos.Add(pedido);
                _dbContext.Seguimientos.Add(seguimiento);
            }
            _dbContext.SaveChanges();
            return(result);
        }
Example #6
0
        public BaseResult GuardarParteRecepcion(SaveParameters parameters)
        {
            var result = new BaseResult();
            var pedido = _dbContext.Pedidos.Find(parameters.IdPedido);

            if (!parameters.ParteRecepcion.HasValue)
            {
                return(result);
            }

            pedido.ParteRecepcion = parameters.ParteRecepcion.Value;
            _dbContext.SaveChanges();

            return(result);
        }
Example #7
0
        /// <summary>
        /// Executes the specified actions and returns the results of the executions.
        /// </summary>
        /// <param name="parameters">Parameters.</param>
        /// <param name="eventType">Event type.</param>
        /// <returns></returns>
        private async Task ExecuteActionsAsync(SaveParameters parameters, ETableDbEventType eventType)
        {
            var execution = await this.GetTableExecutionSources(parameters, eventType)
                            .Select(e => new ExecutionSource()
            {
                ExecutionType      = e.ExecutionType,
                ExecutionText      = e.ExecutionText,
                TableConfiguration = new TableConfiguration()
                {
                    ConnectionString = e.TableConfiguration.ConnectionString
                }
            })
                            .ToListAsync();

            System.Collections.Concurrent.ConcurrentDictionary <string, object> resultDictionary = new System.Collections.Concurrent.ConcurrentDictionary <string, object>();

            int index;

            for (index = 0; index < execution.Count; index++)
            {
                var factory = base.Context.QueryBuilderOptions.ConnectionsPool[execution[index].TableConfiguration.ConnectionString];

                var q = new ParserFull(factory)
                        .ParseToQuery(execution[index].ExecutionText, resultDictionary);

                var result = (await q.GetAsync()).Cast <IDictionary <string, object> >().ToList();

                Parallel.For(0, result.Count, (i) =>
                {
                    Parallel.ForEach(result[i], (e) =>
                    {
                        resultDictionary.AddOrUpdate(e.Key, e.Value, (f, g) => g);
                    });
                });
            }

            foreach (string key in resultDictionary.Keys)
            {
                if (!parameters.AdditionalParameters.ContainsKey(key))
                {
                    parameters.AdditionalParameters.Add(key, resultDictionary[key]);
                }
                else
                {
                    parameters.AdditionalParameters[key] = resultDictionary[key];
                }
            }
        }
        public ActionResult Guardar(SaveParameters parameters)
        {
            var transfer = new ClientTransfer();

            var res = _haberesService.Guardar(parameters);

            if (res.HasErrors)
            {
                transfer.Errors.AddRange(res.Errors);
            }
            if (res.HasWarnings)
            {
                transfer.Warnings.AddRange(res.Warnings);
            }
            return(Json(transfer));
        }
Example #9
0
        public ActionResult Guardar(SaveParameters parameters)
        {
            var transfer = new ClientTransfer();

            parameters.IdUsuario = int.Parse(User.Identity.Name);
            var res = _observacionesService.Guardar(parameters);

            if (res.HasErrors)
            {
                transfer.Errors.AddRange(res.Errors);
            }
            if (res.HasWarnings)
            {
                transfer.Warnings.AddRange(res.Warnings);
            }
            return(Json(transfer));
        }
Example #10
0
        /// <summary>
        /// Processes the after delete record event.
        /// </summary>
        /// <param name="parameters">Parameters</param>
        /// <returns></returns>
        public async Task <SavingResult> ProcessAfterDeleteRecordAsync(SaveParameters parameters)
        {
            SavingResult result;

            try
            {
                await this.ExecuteActionsAsync(parameters, ETableDbEventType.BeforeCreate);

                result = new SavingResult()
                {
                    Result = parameters.AdditionalParameters
                };
            }
            catch (ALexException ex)
            {
                result = base.GetResultFromException <SavingResult>(ex, 4006);
            }
            return(result);
        }
Example #11
0
        /// <summary>
        /// Processes the before create record event.
        /// </summary>
        /// <param name="parameters">Parameters</param>
        /// <returns></returns>
        public async Task <SavingResult> ProcessBeforeCreateRecordAsync(SaveParameters parameters)
        {
            SavingResult result;

            try
            {
                await this.ProcessBeforeCreateRecordAsync(parameters);

                result = new SavingResult()
                {
                    Result = parameters.AdditionalParameters
                };
            }
            catch (ALexException ex)
            {
                result = base.GetResultFromException <SavingResult>(ex, 4001);
            }

            return(result);
        }
Example #12
0
        /// <summary>
        /// Processes the after create record event.
        /// </summary>
        /// <param name="parameters">Parameters</param>
        /// <returns></returns>
        public async Task <SavingResult> ProcessAfterCreateRecordAsync(SaveParameters parameters)
        {
            SavingResult result;

            try
            {
                await this.ExecuteActionsAsync(parameters, ETableDbEventType.AfterCreate);

                var record = this.GetDataAsync(parameters, null);
                result = new SavingResult()
                {
                    Result = record
                };
            }
            catch (ALexException ex)
            {
                result = base.GetResultFromException <SavingResult>(ex, 4003);
            }
            return(result);
        }
Example #13
0
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            var ficheroData = _ficherosService.GetFicheroTemporal(parameters.IdPedido, (int)TipoFicheroEnum.Temporal);
            var tipoPago    = _dbContext.TiposPagos.Find(parameters.IdTipo);

            var pago = new Pago
            {
                Fecha        = DateTime.Now,
                Monto        = decimal.Parse(parameters.Monto, CultureInfo.InvariantCulture),
                NombreFile   = ficheroData.FileName,
                TipoId       = parameters.IdTipo,
                PedidoId     = parameters.IdPedido,
                UsuarioId    = parameters.IdUsuario,
                TipoMonedaId = parameters.IdTipoMoneda
            };

            var seguimiento = new Seguimiento
            {
                PedidoId    = parameters.IdPedido,
                Fecha       = DateTime.Now,
                Descripcion = string.Format(CommonServiceStrings.TextSegCrearPago, tipoPago.Nombre),
                TipoId      = (int)TipoSeguimientoEnum.Pagos,
                UsuarioId   = parameters.IdUsuario
            };

            _dbContext.Seguimientos.Add(seguimiento);
            _dbContext.Pagos.Add(pago);
            _dbContext.SaveChanges();

            var rutaFichero = string.Format(PlantillasGestionFicherosStrings.DirectorioFicheroPago, parameters.IdPedido, tipoPago.Nombre, pago.Id,
                                            Path.GetExtension(ficheroData.FileName));

            if (!FileHelper.WriteFile(rutaFichero, ficheroData.Content))
            {
                result.Errors.Add("El fichero no se puede subir.");
            }

            return(result);
        }
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            var usuario = _dbContext.Usuarios.Find(parameters.IdUsuario);

            if (usuario == null)
            {
                result.Errors.Add(ObservacionStrings.ErrorNoUsuario);
                return(result);
            }

            if (parameters.IdObservacion.HasValue)
            {
                var observacion = _dbContext.Observaciones.Find(parameters.IdObservacion.Value);
                if (observacion == null)
                {
                    result.Errors.Add(ObservacionStrings.ErrorNoObservacion);
                    return(result);
                }

                observacion.UsuarioId   = usuario.Id;
                observacion.Fecha       = DateTime.Now;
                observacion.Descripcion = parameters.Descripcion;
            }
            else
            {
                var observacion = new Observacion
                {
                    PedidoId    = parameters.IdPedido,
                    Descripcion = parameters.Descripcion,
                    Fecha       = DateTime.Now,
                    UsuarioId   = usuario.Id
                };
                _dbContext.Observaciones.Add(observacion);
            }

            _dbContext.SaveChanges();
            return(result);
        }
Example #15
0
        public BaseResult Guardar(SaveParameters parameters)
        {
            var result = new BaseResult();

            if (parameters.IdCliente.HasValue)
            {
                var cliente = _dbContext.Clientes.Find(parameters.IdCliente);

                if (cliente == null)
                {
                    result.Errors.Add("No existe el Cliente.");
                    return(result);
                }

                cliente.Carnet    = parameters.Carnet;
                cliente.Apellidos = parameters.Apellidos;
                cliente.Nombres   = parameters.Nombres;
                cliente.Direccion = string.IsNullOrWhiteSpace(parameters.Direccion) ? "" : parameters.Direccion;
                cliente.Telefono  = parameters.Telefono;
                cliente.Email     = string.IsNullOrWhiteSpace(parameters.Email) ? "" : parameters.Email;
            }
            else
            {
                var cliente = new Cliente
                {
                    EmpresaId = parameters.IdEmpresa,
                    Carnet    = parameters.Carnet,
                    Nombres   = parameters.Nombres,
                    Apellidos = parameters.Apellidos,
                    Direccion = string.IsNullOrWhiteSpace(parameters.Direccion) ? "" : parameters.Direccion,
                    Telefono  = parameters.Telefono,
                    Email     = string.IsNullOrWhiteSpace(parameters.Email) ? "" : parameters.Email,
                    Activo    = true
                };

                _dbContext.Clientes.Add(cliente);
            }
            _dbContext.SaveChanges();
            return(result);
        }
Example #16
0
        /// <summary>
        /// Saves the specified parameters.
        /// </summary>
        /// <param name="parameters">Parameters with the info to save.</param>
        /// <returns></returns>
        public async Task SaveAsync(SaveParameters parameters)
        {
            var actualFields     = parameters.AdditionalParameters.Select(e => e.Key);
            var fieldDefinitions = await(from fd in base.GetFieldDefinitions(parameters)
                                         where actualFields.Contains(fd.ItemName)
                                         select new FieldDefinition()
            {
                ItemName          = fd.ItemName,
                FieldType         = fd.FieldType,
                FieldDefinitionUi = new FieldDefinitionUi()
                {
                    IsRequired = fd.FieldDefinitionUi.IsRequired,
                    Regex      = fd.FieldDefinitionUi.Regex,
                    MaxLength  = fd.FieldDefinitionUi.MaxLength,
                    MinLength  = fd.FieldDefinitionUi.MinLength,
                }
            }).ToListAsync();

            var cross = (from name in fieldDefinitions
                         join item in parameters.AdditionalParameters on name.ItemName equals item.Key into jr
                         from item in jr.DefaultIfEmpty()
                         select new
            {
                Item = item,
                FieldDefinition = name.FieldDefinitionUi
            }).ToList();

            var messages = new System.Collections.Concurrent.ConcurrentBag <GeneralMessage>();

            Parallel.For(0, cross.Count, (i) =>
            {
                if (cross[i].FieldDefinition.IsRequired && cross[i].Item.Value == null)
                {
                }
            });

            SavingResult result = new SavingResult();

            // Makes the basic validations
        }
Example #17
0
        public BaseResult GuardarPrecio(SaveParameters parameters)
        {
            var result = new BaseResult();
            var pedido = _dbContext.Pedidos.Find(parameters.IdPedido);

            var precio = pedido.Precio.HasValue ? pedido.Precio : 0;

            pedido.Precio = pedido.Polizas.Sum(a => a.DetallePolizas.Sum(b => b.Precio));

            var seguimiento = new Seguimiento
            {
                PedidoId    = pedido.Id,
                Fecha       = DateTime.Now,
                Descripcion = string.Format(CommonServiceStrings.TextSegPrecioPedido, precio, pedido.Precio),
                TipoId      = (int)TipoSeguimientoEnum.Precios,
                UsuarioId   = parameters.IdUsuario.Value
            };

            _dbContext.Seguimientos.Add(seguimiento);
            _dbContext.SaveChanges();
            return(result);
        }
Example #18
0
        private IQueryable <ExecutionSource> GetTableExecutionSources(SaveParameters parameters, ETableDbEventType tableDbEventType)
        {
            var tables = base.GetTableDefinitions(parameters);

            switch (tableDbEventType)
            {
            case ETableDbEventType.BeforeCreate:
            case ETableDbEventType.AfterCreate:
                tables = tables.Where(e => e.TableDefinitionUi.AllowCreate);
                break;

            case ETableDbEventType.BeforeUpdate:
            case ETableDbEventType.AfterUpdate:
                tables = tables.Where(e => e.TableDefinitionUi.AllowEdit);
                break;

            case ETableDbEventType.BeforeDelete:
            case ETableDbEventType.AfterDelete:
                tables = tables.Where(e => e.TableDefinitionUi.AllowDelete);
                break;

            case ETableDbEventType.AfterCreateOrUpdate:
            case ETableDbEventType.BeforeCreateOrUpdate:
                tables = tables.Where(e => e.TableDefinitionUi.AllowCreate || e.TableDefinitionUi.AllowEdit);
                break;
            }


            return(tables
                   .SelectMany(e => e.TableActions)
                   .Where(e => (tableDbEventType == ETableDbEventType.BeforeCreate ? e.TableDbEventType == ETableDbEventType.BeforeCreateOrUpdate || e.TableDbEventType == ETableDbEventType.BeforeCreate :
                                tableDbEventType == ETableDbEventType.AfterCreate ? e.TableDbEventType == ETableDbEventType.AfterCreateOrUpdate || e.TableDbEventType == ETableDbEventType.AfterCreate :
                                tableDbEventType == ETableDbEventType.BeforeUpdate ? e.TableDbEventType == ETableDbEventType.BeforeCreateOrUpdate || e.TableDbEventType == ETableDbEventType.BeforeUpdate :
                                tableDbEventType == ETableDbEventType.AfterUpdate ? e.TableDbEventType == ETableDbEventType.AfterCreateOrUpdate || e.TableDbEventType == ETableDbEventType.AfterUpdate
                        : false) && e.ExecutionSource.ExecutionType != EExecutionType.JavaScript)
                   .OrderBy(e => e.ExecutionOrder)
                   .Select(e => e.ExecutionSource)
                   );
        }
        public ActionResult GuardarPrecio(SaveParameters parameters)
        {
            var transfer = new ClientTransfer();

            var user = User.Identity;

            if (user == null)
            {
                transfer.Errors.Add(CommonControllerStrings.ErrorSinUsuario);
                return(Json(transfer));
            }
            parameters.IdUsuario = int.Parse(user.Name);
            var res = _pedidosService.GuardarPrecio(parameters);

            if (res.HasErrors)
            {
                transfer.Errors.AddRange(res.Errors);
            }
            if (res.HasWarnings)
            {
                transfer.Warnings.AddRange(res.Warnings);
            }
            return(Json(transfer));
        }
        public IHttpActionResult GuardarUsuario(SaveParameters parameters)
        {
            var res = _usuariosService.GuardarUsuario(parameters);

            return(Ok(res));
        }
Example #21
0
        /// <summary>
        /// Este método se invoca cuando se arranca la aplicación por URI. Es decir, cuando se invoca por
        /// url "afirma://parametros".
        /// </summary>
        /// <param name="args">Información detallada acerca de la solicitud y el proceso de inicio.</param>
        protected async override void OnActivated(IActivatedEventArgs args)
        {
            if (args.Kind == ActivationKind.Protocol)
            {
                ProtocolActivatedEventArgs protocolArgs = args as ProtocolActivatedEventArgs;

                // Preparamos la ventana actual
                Frame mainFrame = new Frame();
                Window.Current.Content = mainFrame;
                // Asegurarse de que la ventana actual está activa.
                Window.Current.Activate();

                // Comprobamos que la entrada es una URI con parámetros
                WwwFormUrlDecoder decoder;
                try
                {
                    String uri = protocolArgs.Uri.AbsoluteUri;
                    decoder = new WwwFormUrlDecoder(uri.Substring(uri.IndexOf("?"), uri.Length - uri.IndexOf("?")));
                }
                catch (Exception)
                {
                    decoder = null;
                }
                if (decoder == null)
                {
                    await new Windows.UI.Popups.MessageDialog(labels.GetString("Error_parametros") + " (ERR:W00)").ShowAsync();
                    Application.Current.Exit();
                }

                // Si el protocolo es de tipo "afirma://sign?"
                if (protocolArgs.Uri.Authority.Equals(ConstantsAfirmaMetro.SIGN_OPERATION))
                {
                    mainFrame.Navigate(typeof(MainPage));

                    // Obtenemos el objeto de parámetros de la URL
                    string errorMessage = "Error indefinido";
                    try
                    {
                        MainPage.signParameters = new SignParameters(protocolArgs.Uri.AbsoluteUri);
                    }
                    catch (UnsupportedSignatureFormat e)
                    {
                        MainPage.signParameters = null;
                        errorMessage            = "El formato de firma no está soportado en este entorno operativo: " + e.GetMessage();
                    }
                    catch (UnsupportedSignatureAlgorithm e)
                    {
                        MainPage.signParameters = null;
                        errorMessage            = "El algoritmo de firma no está soportado en este entorno operativo: " + e.GetMessage();
                    }
                    catch (ParameterException e)
                    {
                        MainPage.signParameters = null;
                        errorMessage            = e.GetMessage();
                    }
                    if (MainPage.signParameters == null)
                    {
                        AfirmaMetroUtils.showMessageAndClose(
                            errorMessage,
                            "Error en la página Web de invocación"
                            );
                        return;
                    }

                    // Comprobamos si hay datos, y si no los hay los leemos desde disco
                    if (MainPage.signParameters.GetData() == null)
                    {
                        mainFrame.Navigate(typeof(FileOpenPicker));
                        string fileOpenErrorMessage = null;
                        try
                        {
                            MainPage.signParameters.SetData(await AfirmaWMetro.Utils.FileManager.GetDataFromDisk("Firmar fichero"));
                        }
                        catch (Exception e)
                        {
                            fileOpenErrorMessage = e.Message;
                        }
                        // Usamos el mensaje de error para determinar si se leyeron los datos
                        if (fileOpenErrorMessage != null)
                        {
                            AfirmaMetroUtils.showMessageAndClose("No se han seleccionado datos a firmar, se cancelará la operación en curso.\n" + fileOpenErrorMessage, "Error en la apertura de datos");
                            return;
                        }
                    }
                } // FIN SIGN

                // EL PROTOCOLO ES DE TIPO "afirma://save?"
                else if (protocolArgs.Uri.Authority.Equals(ConstantsAfirmaMetro.SAVE_OPERATION))
                {
                    SaveParameters saveParameters;
                    try
                    {
                        saveParameters = new SaveParameters(protocolArgs.Uri.AbsoluteUri);
                    }
                    catch (ParameterException e)
                    {
                        // La excepcion contiene el mensaje de error apropiado
                        AfirmaMetroUtils.showMessageAndClose(e.GetMessage(), "Error en la página Web de invocación");
                        return;
                    }

                    // Mostramos el diálogo de guardado de datos
                    FileSavePicker savePicker = new FileSavePicker();
                    savePicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
                    if (saveParameters.getFileDescription() != null && saveParameters.getFileExtension() != null)
                    {
                        savePicker.FileTypeChoices.Add(saveParameters.getFileDescription(), new List <string>()
                        {
                            saveParameters.getFileExtension()
                        });
                    }
                    if (saveParameters.getFileName() != null)
                    {
                        savePicker.SuggestedFileName = saveParameters.getFileName();
                    }

                    var rootFrame = new Frame();
                    rootFrame.Navigate(typeof(FileSavePicker));
                    Window.Current.Content = rootFrame;
                    Window.Current.Activate();

                    StorageFile file = await savePicker.PickSaveFileAsync();

                    if (file != null)
                    {
                        CachedFileManager.DeferUpdates(file);
                        await FileIO.WriteBytesAsync(file, saveParameters.getData());

                        FileUpdateStatus status = await CachedFileManager.CompleteUpdatesAsync(file);

                        if (status != FileUpdateStatus.Complete)
                        {
                            AfirmaMetroUtils.showMessageAndClose("Ocurrió un error y no se pudo guardar el fichero, pruebe a reintentarlo más tarde o en un directorio diferente.", "Error en el salvado de fichero");
                            return;
                        }
                    }
                    else
                    {
                        AfirmaMetroUtils.showMessageAndClose("Se ha cancelado el guardado de fichero.", "Operación cancelada por el usuario");
                        return;
                    }
                    AfirmaMetroUtils.showMessageAndClose("El fichero se ha guardado correctamente.", "Operación finalizada correctamente");
                    return;
                }
            }
        }
Example #22
0
 public void Write(SaveParameters param)
 {
     byte[] bytes = System.Text.Encoding.ASCII.GetBytes(_objNo.ToString() + " 0 R");
     param.Stream.Write(bytes, 0, bytes.Length);
 }
Example #23
0
 public void Write(SaveParameters param)
 {
     StringUtility.WriteToStream(_number, param.Stream);
 }