Esempio n. 1
0
        public CloudPrintGenericResponse DeleteJob(string jobid)
        {
            CloudPrintGenericResponse response = new CloudPrintGenericResponse();

            try
            {
                var p = new PostData();

                p.Params.Add(new PostDataParam {
                    Name = "jobid", Value = jobid, Type = PostDataParamType.Field
                });

                CloudPrintGenericResponse result
                    = GetPostDataResult <CloudPrintGenericResponse>(this.BaseUri, "deletejob", p);

                if (null == result)
                {
                    return(response);
                }

                return(result);
            }
            catch (Exception ex)
            {
                response.message = ex.Message;
                response.success = false;
                return(response);
            }
        }
Esempio n. 2
0
        public CloudPrintGenericResponse SharePrinter(string printerid, string emailAddress, bool skipNotifyUser = false)
        {
            CloudPrintGenericResponse response = new CloudPrintGenericResponse();

            try
            {
                var p = new PostData();

                p.Params.Add(new PostDataParam {
                    Name = "printerid", Value = printerid, Type = PostDataParamType.Field
                });
                p.Params.Add(new PostDataParam {
                    Name = "email", Value = emailAddress, Type = PostDataParamType.Field
                });
                p.Params.Add(new PostDataParam {
                    Name = "role", Value = "APPENDER", Type = PostDataParamType.Field
                });
                p.Params.Add(new PostDataParam {
                    Name = "skip_notification", Value = skipNotifyUser.ToString(), Type = PostDataParamType.Field
                });

                if (0 >= p.Params.Count())
                {
                    p = null;
                }

                CloudPrintGenericResponse result
                    = GetPostDataResult <CloudPrintGenericResponse>(this.BaseUri, "share", p);

                if (null == result)
                {
                    return(response);
                }

                return(result);
            }
            catch (Exception ex)
            {
                response.message = ex.Message;
                response.success = false;
                return(response);
            }
        }
Esempio n. 3
0
        public CloudPrintGenericResponse UnsharePrinter(string printerid, string emailAddress)
        {
            CloudPrintGenericResponse response = new CloudPrintGenericResponse();

            try
            {
                var p = new PostData();

                p.Params.Add(new PostDataParam {
                    Name = "printerid", Value = printerid, Type = PostDataParamType.Field
                });
                p.Params.Add(new PostDataParam {
                    Name = "email", Value = emailAddress, Type = PostDataParamType.Field
                });

                if (0 >= p.Params.Count())
                {
                    p = null;
                }

                CloudPrintGenericResponse result
                    = GetPostDataResult <CloudPrintGenericResponse>(this.BaseUri, "unshare", p);

                if (null == result)
                {
                    return(response);
                }

                return(result);
            }
            catch (Exception ex)
            {
                response.message = ex.Message;
                response.success = false;
                return(response);
            }
        }
Esempio n. 4
0
        public CloudPrintGenericResponse Submit(SubmitRequest submitRequest)
        {
            CloudPrintGenericResponse response = new CloudPrintGenericResponse();

            if (null == submitRequest || String.IsNullOrWhiteSpace(submitRequest.contentType) || null == submitRequest.content)
            {
                throw new ApplicationException("Invalid parameters, make sure that the request parameters and content type have been specified.");
            }

            try
            {
                var p = new PostData();
                p.Params.Add(new PostDataParam
                {
                    Name  = "printerid",
                    Value = submitRequest.printerid,
                    Type  = PostDataParamType.Field
                });

                if (!String.IsNullOrWhiteSpace(submitRequest.contentType))
                {
                    p.Params.Add(new PostDataParam
                    {
                        Name  = "contentType",
                        Value = submitRequest.contentType,
                        Type  = PostDataParamType.Field
                    });
                }

                if (null != submitRequest.content)
                {
                    var b64 = Convert.ToBase64String(submitRequest.content);

                    if (!String.IsNullOrWhiteSpace(b64))
                    {
                        string mimeType = string.IsNullOrWhiteSpace(submitRequest.contentType) ? submitRequest.contentType : "text/plain";

                        p.Params.Add(new PostDataParam
                        {
                            Name  = "content",
                            Type  = PostDataParamType.Field,
                            Value = "data:" + mimeType + ";base64," + b64
                        });
                    }
                }

                if (!String.IsNullOrWhiteSpace(submitRequest.title))
                {
                    p.Params.Add(new PostDataParam
                    {
                        Name  = "title",
                        Value = submitRequest.title,
                        Type  = PostDataParamType.Field
                    });
                }

                if (!String.IsNullOrWhiteSpace(submitRequest.capabilities))
                {
                    p.Params.Add(new PostDataParam
                    {
                        Name  = "capabilities",
                        Value = submitRequest.capabilities,
                        Type  = PostDataParamType.Field
                    });
                }

                if (!String.IsNullOrWhiteSpace(submitRequest.tag))
                {
                    p.Params.Add(new PostDataParam
                    {
                        Name  = "tag",
                        Value = submitRequest.tag,
                        Type  = PostDataParamType.Field
                    });
                }

                CloudPrintGenericResponse result
                    = GetPostDataResult <CloudPrintGenericResponse>(this.BaseUri, "submit", p);

                if (null == result)
                {
                    return(response);
                }

                return(result);
            }
            catch (Exception ex)
            {
                response.message = ex.Message;
                response.success = false;
                return(response);
            }
        }