예제 #1
0
        public ActionResult GuardarFichero(int pedidoId, int idTipo)
        {
            var transfer   = new ClientTransfer();
            var parameters = new SaveFicheroParameters();

            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];

                if (file != null && file.ContentLength > 0)
                {
                    if (file.ContentLength / 1024 > 20480)
                    {
                        transfer.Errors.Add("Este fichero ha excedido el tamaño permitido.");
                        return(Json(transfer));
                    }
                    var content = ReadFully(file.InputStream);
                    parameters.Content  = content;
                    parameters.IdPedido = pedidoId;
                    parameters.IdTipo   = idTipo;
                    parameters.Name     = file.FileName;
                    parameters.MimeType = file.ContentType;
                }
            }
            var user = User.Identity;

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

            var res = _pedidosService.GuardarFichero(parameters);

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

            if (transfer.HasErrors || transfer.HasWarnings)
            {
                return(Json(transfer));
            }

            var fichero       = _ficherosService.Get(parameters.IdPedido.Value, parameters.IdTipo.Value);
            var cambiarEstado = _pedidosService.CambiarEstado(pedidoId, int.Parse(user.Name));

            transfer.Data = new { IdFichero = fichero.Id, EstadoModificado = cambiarEstado, Estado = fichero.Pedido.Estado.Nombre };
            return(Json(transfer));
        }
예제 #2
0
        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));
        }