Ejemplo n.º 1
0
        private void btmDelete_Click(object sender, EventArgs e)
        {
            int intSelectedInvoiceItems = 0;

            foreach (DataRow drInvoiceItems in this.dsRequestItems.Tables["tabRequestItems"].Rows)
            {
                if ((Boolean)drInvoiceItems["bitSelect"])
                {
                    ++intSelectedInvoiceItems;
                }
            }

            if (intSelectedInvoiceItems > 0)
            {
                DialogResult dialogResult = MessageBox.Show("آیا می خواهید " + intSelectedInvoiceItems.ToString() + " آیتم را حذف کنید؟", "حذف", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    this.btmDelete.Enabled = false;
                    RequestItem.DeleteRequestItems(this.cnConnection, this.dsRequestItems);
                    SearchRequestItems();
                    this.btmDelete.Enabled = true;
                }
            }
            else
            {
                MessageBox.Show(".هیچ آیتم انتخاب نشده است", "هشدار", MessageBoxButtons.OK, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign);
            }
        }
        public async Task ValidateQuoteRequest_GivenAQuoteRequestWithoutRequestItems_ShouldReturnAValidationResultWithExpectedErrorMessage()
        {
            //Arrange
            var wholesalerId = Guid.NewGuid();
            var itemId       = Guid.NewGuid();

            var requestedItems = new RequestItem[0];

            var quoteRequest = new QuoteRequest
            {
                WholesalerId = wholesalerId,
                RequestItems = requestedItems
            };

            var expectedErrorMessage = "Quote request cannot be empty";

            var mockedWholesalerQuery = new Mock <IWholesalerQuery>();

            mockedWholesalerQuery.Setup(query => query.GetWholesaler(It.IsAny <Guid>()))
            .ReturnsAsync(new Wholesaler());

            var wholesalerValidation = new WholesalerValidation(mockedWholesalerQuery.Object);

            //Act
            var results = await wholesalerValidation.ValidateQuoteRequest(quoteRequest);

            //Assert
            Assert.Contains(results, result => result != null && result.ErrorMessage.Equals(expectedErrorMessage));
        }
Ejemplo n.º 3
0
        private static RequestItemField ProcessOverrides(RequestItem ri, string overrides)
        {
            // Overrides come in the form "FieldName[fieldName,fieldValue,fieldName,fieldValue]"
            // with as many name/value pairs within the brackets as required
            int start = overrides.IndexOf("[");

            // The last character will be the ]
            if (!overrides.EndsWith("]"))
            {
                throw new Exception("Override fields passed to ProcessOverrides() that didn't end with ]");
            }

            RequestItemField ret = new RequestItemField(overrides.Substring(0, start));

            string[] nameValues = overrides.Substring(start + 1, overrides.Length - start - 2).Split(',');
            for (int i = 0; i < nameValues.Length; i += 2)
            {
                string field = nameValues[i];
                string value = nameValues[i + 1];

                ret.OverrideFields.Add(new OverrideField(field, value));
            }

            return(ret);
        }
Ejemplo n.º 4
0
        //Update in Database
        public ActionResult updateRequisitionForm()
        {
            List <RequestItem> requestItemList    = (List <RequestItem>)Session["rForm"];
            List <RequestItem> NewRequestItemList = new List <RequestItem>();

            foreach (var requestItem in requestItemList)
            {
                RequestItem item = new RequestItem();
                item.Item         = dbcontext.Items.SingleOrDefault(m => m.ItemNumber == requestItem.Item.ItemNumber);
                item.RequestedQty = requestItem.RequestedQty;

                NewRequestItemList.Add(item);
            }

            //Update Two Table RequestItem with Item and Quantity
            dbcontext.RequestItems.AddRange(NewRequestItemList);
            EmployeeRequestForm employeeRequestForm = new EmployeeRequestForm();

            employeeRequestForm.EmployeeRequestFormstatus = "Pending";
            //session User
            string username = Session["loginUserName"].ToString();
            var    sfg      = dbcontext.Dept_Staffs.SingleOrDefault(m => m.Username == username);

            employeeRequestForm.DeptStaff    = dbcontext.Dept_Staffs.SingleOrDefault(m => m.Username == username);
            employeeRequestForm.RequestItems = NewRequestItemList;
            employeeRequestForm.DeptId       = sfg.DeptId;
            dbcontext.EmployeeRequestForms.Add(employeeRequestForm);


            dbcontext.SaveChanges();
            Session["rForm"] = null;

            return(RedirectToAction("Catalogue"));
        }
Ejemplo n.º 5
0
        public void SearchRequestItems()
        {
            this.dsRequestItems = RequestItem.GetRequestItems(this.cnConnection, this.riSearch);

            this.dgvRequestItems.DataSource = this.dsRequestItems;
            this.dgvRequestItems.DataMember = "tabRequestItems";
        }
Ejemplo n.º 6
0
    /* Insert the request in the queue, return TRUE if the queue actually grew.
     * NOTE: Lock the queue before calling.  */

    private bool InsertRequest(string path, int order, int width, int height)
    {
        /* Check if this is the same as the request currently being processed.  */
        lock (processed_requests) {
            if (current_request != null && current_request.path == path)
            {
                return(false);
            }
        }
        /* Check if a request for this path has already been queued.  */
        RequestItem existing_request = requests_by_path [path] as RequestItem;

        if (existing_request != null)
        {
            /* FIXME: At least for now, this shouldn't happen.  */
            if (existing_request.order != order)
            {
                Console.WriteLine("BUG: Filing another request of order {0} (previously {1}) for `{2}'",
                                  order, existing_request.order, path);
            }

            queue.Remove(existing_request);
            queue.Add(existing_request);
            return(false);
        }

        /* New request, just put it on the queue with the right order.  */
        RequestItem new_request = new RequestItem(path, order, width, height);

        queue.Add(new_request);

        requests_by_path.Add(path, new_request);
        return(true);
    }
Ejemplo n.º 7
0
        /// <summary>: obtém uma determinado item!
        /// <response>: os dados do item.
        public RequestItem GetById(int request_item_id)
        {
            RequestItem item = new RequestItem();

            cmd = new NpgsqlCommand(getById, conn);
            cmd.Parameters.AddWithValue("@itm_id", request_item_id);
            reader = cmd.ExecuteReader();

            if (reader.Read())
            {
                item.itm_id                = (int)reader["itm_id"];
                item.itm_request_id        = (int)reader["itm_request_id"];
                item.itm_pn                = (string)reader["itm_pn"];
                item.itm_quantity          = (int)reader["itm_quantity"];
                item.itm_approved_quantity = (int)reader["itm_approved_quantity"];
                item.itm_description       = (string)reader["itm_description"];
                item.itm_application       = (string)reader["itm_application"];
                item.itm_priority          = (string)reader["itm_priority"];
                item.itm_deadline          = (DateTime)reader["itm_deadline"];
                item.itm_active            = (bool)reader["itm_active"];
                item.itm_excluded          = (bool)reader["itm_excluded"];
            }
            reader.Close();

            return(item);
        }
        public object Queue([FromBody] RequestItem request)
        {
            var item = new DelayedQueueItem(_hub.Clients.All, request.Title, request.Message, request.Delay);

            _queue.Enqueue(item);
            return(new { item.Id });
        }
Ejemplo n.º 9
0
        private IEnumerable <RequestItem> GetRequestItemModel(IEnumerable <RequestItemViewModel> requestItemViewModels)
        {
            var requestItems = new List <RequestItem>();

            if (requestItemViewModels != null)
            {
                foreach (RequestItemViewModel requestItemVM in requestItemViewModels)
                {
                    var requestItem = new RequestItem()
                    {
                        Id         = requestItemVM.id,
                        ItemId     = requestItemVM.itemId,
                        ItemTypeId = requestItemVM.itemTypeId,
                        ItemRoleId = requestItemVM.itemRoleId,
                        Qty        = requestItemVM.qty,
                        Comment    = requestItemVM.comment,
                        Version    = 1
                    };

                    requestItems.Add(requestItem);
                }
            }

            return(requestItems);
        }
Ejemplo n.º 10
0
    // Private utility methods.

    protected virtual void ProcessRequest(RequestItem request)
    {
        Pixbuf orig_image;

        try {
            using (FSpot.ImageFile img = System.IO.File.Exists(request.path) ? FSpot.ImageFile.Create(request.path) : FSpot.ImageFile.Create(new Uri(request.path))) {
                if (request.width > 0)
                {
                    orig_image = img.Load(request.width, request.height);
                }
                else
                {
                    orig_image = img.Load();
                }
            }
        } catch (GLib.GException e) {
            System.Console.WriteLine(e.ToString());
            return;
        }

        if (orig_image == null)
        {
            return;
        }

        request.result = orig_image;
    }
Ejemplo n.º 11
0
        public RequestItem GetRequestItem(int?RequestItemId)
        {
            PetaPoco.Database db = null;
            var         dbConn   = DataContext.Database.Connection;
            RequestItem user     = new RequestItem();

            try
            {
                using (DataContext)
                {
                    dbConn.Open();
                    db = new PetaPoco.Database(dbConn);
                    db.EnableAutoSelect = false;
                    user = db.Query <RequestItem>("exec usp_GetRequestItem " + "@RequestItemId",
                                                  new { RequestItemId = RequestItemId }).FirstOrDefault();
                    dbConn.Close();
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            finally
            {
                if (dbConn != null)
                {
                    dbConn.Close();
                }
            }
            return(user);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Command를 수행하고, 결과를 XML 문자열로 반환합니다.
        /// </summary>
        /// <param name="repository">Repository</param>
        /// <param name="requestItem">요청 정보</param>
        /// <returns>Data 처리 결과의 XML 문자열</returns>
        public override string Execute(IAdoRepository repository, RequestItem requestItem)
        {
            Repository = repository;

            var method            = requestItem.Method;
            var requestParameters = requestItem.Parameters;

            if (IsDebugEnabled)
            {
                log.Debug("{0}를 수행합니다. method=[{1}], requestParameters=[{2}]",
                          GetType().FullName, method, requestParameters.CollectionToString());
            }

            var    query = repository.QueryProvider.GetQuery(method).AsText(method);
            string result;

            using (var cmd = repository.GetCommand(query, true)) {
                var scalar = repository.ExecuteScalar(cmd, GetParameters(requestParameters));
                result = JsonTool.SerializeAsText(scalar);
            }

            if (IsDebugEnabled)
            {
                log.Debug("{0}를 완료했습니다. method=[{1}], requestParameters=[{2}]",
                          GetType().FullName, method, requestParameters.CollectionToString());
            }

            return(result);
        }
Ejemplo n.º 13
0
        private static void addPagingFields(XmlWriter writer, RequestItem request, int startIndex, int itemsPerPage, int totalResults)
        {
            writer.WriteElementString("startIndex", osearchNameSpace, startIndex.ToString());
            if (request.getCount() != null)
            {
                writer.WriteElementString("itemsPerPage", osearchNameSpace, itemsPerPage.ToString());
            }
            writer.WriteElementString("totalResults", osearchNameSpace, totalResults.ToString());

            // Create a "next" link based on our current url if this is a pageable collection & there is more to display
            if ((startIndex + itemsPerPage) < totalResults)
            {
                int nextStartIndex             = (startIndex + itemsPerPage) - 1;
                NameValueCollection parameters = HttpUtility.ParseQueryString(request.getParameter("QUERY_STRING"));
                parameters[RequestItem.START_INDEX] = nextStartIndex.ToString();
                parameters[RequestItem.COUNT]       = itemsPerPage.ToString();
                var outParams = new List <string>();
                foreach (var p in parameters)
                {
                    string key = p.ToString();
                    outParams.Add(key + "=" + parameters[key]);
                }
                string outParamString = "?" + String.Join("&", outParams.ToArray());
                string nextUri        = "http://" + request.getParameter("HTTP_HOST") + request.getParameter("URL") + outParamString;

                writer.WriteStartElement("link");
                writer.WriteAttributeString("ref", "next");
                writer.WriteAttributeString("href", new Uri(nextUri).ToString());
            }
        }
Ejemplo n.º 14
0
        public int AddRequestItem(RequestItem user)
        {
            int id = 0;

            PetaPoco.Database db = null;
            var dbConn           = DataContext.Database.Connection;

            try
            {
                dbConn.Open();
                db = new PetaPoco.Database(dbConn);
                db.EnableAutoSelect = false;
                id = db.ExecuteScalar <int>("declare @@ret INT; exec @@ret = usp_AddRequestItem " + " @RequestId,@PROId,@RequestQuantity,@RequestDescription; select @@ret;",
                                            new
                {
                    @RequestId          = user.RequestId,
                    @PROId              = user.PROId,
                    @RequestQuantity    = user.RequestQuantity,
                    @RequestDescription = user.RequestDescription
                });
            }
            catch (Exception ex)
            {
            }

            finally
            {
                if (dbConn != null)
                {
                    dbConn.Close();
                }
            }
            return(id);
        }
Ejemplo n.º 15
0
        public async Task <List <Wallet.AccountState> > QueryBalances(params string[] addresses)
        {
            var request = new UpdateToLatestLedgerRequest();

            foreach (var address in addresses)
            {
                var accountStateRequest = new GetAccountStateRequest {
                    Address = address.ToByteString()
                };
                var requestItem = new RequestItem {
                    GetAccountStateRequest = accountStateRequest
                };
                request.RequestedItems.Add(requestItem);
            }

            var accountStates = new List <Wallet.AccountState>();
            var response      = await acClient.UpdateToLatestLedgerAsync(request);

            foreach (var item in response.ResponseItems)
            {
                var accountState = DecodeAccountStateBlob(item.GetAccountStateResponse.AccountStateWithProof.Blob);
                accountStates.Add(accountState);
            }

            return(accountStates);
        }
Ejemplo n.º 16
0
 public HttpResponseMessage add(RequestItem item)
 {
     logger.Info("start add RequestItem: ");
     try
     {
         var identity = User.Identity as ClaimsIdentity;
         int compid = 0, userid = 0;   // Access claims
         foreach (Claim claim in identity.Claims)
         {
             if (claim.Type == "compid")
             {
                 compid = int.Parse(claim.Value);
             }
             if (claim.Type == "userid")
             {
                 userid = int.Parse(claim.Value);
             }
         }
         if (item == null)
         {
             throw new ArgumentNullException("item");
         }
         logger.Info("User ID : {0} , Company Id : {1}", compid, userid);
         context.AddRequestItem(item);
         logger.Info("End add RequestItem: ");
         return(Request.CreateResponse(HttpStatusCode.OK, item));
     }
     catch (Exception ex)
     {
         logger.Error("Error in add RequestItem " + ex.Message);
         logger.Info("End  RequestItem: ");
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
     }
 }
Ejemplo n.º 17
0
    /* The worker thread's main function.  */
    private void WorkerThread()
    {
        while (true)
        {
            lock (processed_requests) {
                if (current_request != null)
                {
                    processed_requests.Enqueue(current_request);

                    if (!pending_notify_notified)
                    {
                        pending_notify.WakeupMain();
                        pending_notify_notified = true;
                    }

                    current_request = null;
                }
            }

            lock (queue) {
                while (queue.Count == 0 || block_count > 0)
                {
                    Monitor.Wait(queue);
                }

                int pos = queue.Count - 1;

                current_request = queue [pos] as RequestItem;
                queue.RemoveAt(pos);
                requests_by_path.Remove(current_request.path);
            }

            ProcessRequest(current_request);
        }
    }
Ejemplo n.º 18
0
        static void Main(string[] args)
        {
            RequestItem requestItem = new RequestItem();

            requestItem.CollectionInf();
            requestItem.Print();
        }
        public void AddItem(string code)
        {
            var product = context.Set <Product>()
                          .Where(p => p.Code == code).SingleOrDefault();

            if (product == null)
            {
                throw new ArgumentException("Produto não encontrado");
            }

            var request = GetRequest();

            var requestItem = context.Set <RequestItem>().
                              Where(ri => ri.Product.Code == code &&
                                    ri.Request.ID == request.ID).SingleOrDefault();

            if (requestItem == null)
            {
                requestItem = new RequestItem(request, product, 1, product.Price);

                context.Set <RequestItem>().Add(requestItem);

                context.SaveChanges();
            }
        }
Ejemplo n.º 20
0
        public IAsyncResult handleItem(RequestItem request)
        {
            if (request.getOperation() == null)
            {
                throw new ProtocolException(ResponseError.NOT_IMPLEMENTED,
                                            "Unserviced operation");
            }
            String             operation = request.getOperation().ToLower();
            handleItemDelegate handler;

            if (GET_SYNONYMS.Contains(operation))
            {
                handler = new handleItemDelegate(handleGet);
            }
            else if (UPDATE_SYNONYMS.Contains(operation))
            {
                handler = new handleItemDelegate(handlePost);
            }
            else if (CREATE_SYNONYMS.Contains(operation))
            {
                handler = new handleItemDelegate(handlePut);
            }
            else if (DELETE_SYNONYMS.Contains(operation))
            {
                handler = new handleItemDelegate(handleDelete);
            }
            else
            {
                throw new ProtocolException(ResponseError.NOT_IMPLEMENTED,
                                            "Unserviced operation " + operation);
            }
            return(handler.BeginInvoke(request, null, null));
        }
        public void CallServiceBaseMethod(RequestItem Item)
        {
            ResponseItem re = new ResponseItem(Item);

            re.RequestItem.RequestLog = re.RequestItem.RequestLog + "srv_start: " + DateTime.Now.ToString() + ",";
            ServiceConfig srvcont = new ServiceConfig(_serviceconfigparameters);
            HelperClasses.Serializer srl = new HelperClasses.Serializer();

            try
            {
                DateTime dFrom = DateTime.Now.AddMonths(-10).Date;
                DateTime dTo = DateTime.Now.AddMonths(2).Date;
                var periodsFrom = (from row in srvcont.DataContext.tbl_trDate.Where(w => w.Date >= dFrom && w.Date <= dTo)
                                   select row.PeriodStarting).Distinct().ToList();

                var periodsFromTo = from period in periodsFrom
                                    select new
                                    {
                                        PeriodFromTo = period.Value.ToString("yyyy-MM-dd") + " - " + (period.Value.Day == 1 ? period.Value.AddDays(14).ToString("yyyy-MM-dd") :
                                                        (new DateTime(period.Value.AddMonths(1).Year, period.Value.AddMonths(1).Month, 1)).AddDays(-1).ToString("yyyy-MM-dd"))
                                    };
                re.ResponseBody = srl.NTSoftJsonSerialize(periodsFromTo.ToArray());
                re.RequestCompleted = true;

            }

            catch (Exception ex)
            {

                //re.ResponseBody = ex.ToString();
                re.RequestCompleted = false;
            }

            re.RequestItem.RequestLog = re.RequestItem.RequestLog + "srv_finish: " + DateTime.Now.ToString() + ",";
        }
Ejemplo n.º 22
0
        // GET: RequestItems/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RequestItem requestItem = db.RequestItems.Find(id);
            var         AllItems    = db.RequestItems.Where(a => a.UserId == requestItem.UserId).ToList();

            ViewBag.depManager = db.Users.Where(u => u.JobNumber == User.Identity.Name).FirstOrDefault().UserId;
            ViewBag.Manager    = db.Users.Where(u => u.UserId == requestItem.User.Department.ManagerId).FirstOrDefault();

            var Technician = (from User in db.UserRoles
                              where User.Role.NameEn == "Technician"
                              select User.User);

            ViewBag.TechnicianList  = Technician.ToList();
            ViewBag.TechnicianCount = Technician.Count();

            var IdTechnician = db.TechnicianReports.Where(u => u.RequestItem.RequestItemsId == requestItem.RequestItemsId).FirstOrDefault();

            if (IdTechnician != null)
            {
                ViewBag.Technician = db.Users.Where(u => u.UserId == IdTechnician.UserId).FirstOrDefault();
            }

            if (requestItem == null)
            {
                return(HttpNotFound());
            }
            return(View(requestItem));
        }
Ejemplo n.º 23
0
    private void randomRequest()
    {
        int max = (progressHub.totalProgress < 50) ? 50 : 100;

        stopProgress = Random.Range(progressHub.totalProgress, max);
        byte item = (byte)Random.Range(0, 3);

        switch (item)
        {
        case 0:
            itemRequest = RequestItem.ArtAsset;
            break;

        case 1:
            itemRequest = RequestItem.data;
            break;

        case 2:
            itemRequest = RequestItem.RedBull;
            break;

        default:
            itemRequest = RequestItem.RedBull;
            break;
        }
        display.showRequest(itemRequest);
        stopRemain      -= 1;
        canProgress      = true;
        isGetTranmission = false;
        alreadySpawn     = false;
    }
Ejemplo n.º 24
0
        /// <summary>: cria um novo item e o associa à uma requisição!
        /// <response>: retorna o id do item criado.
        public int Post(RequestItem item)
        {
            // Herda a aplicação e prioridade da requisição
            RequestService req_service = new RequestService();

            item.SetApplication(req_service.GetApplication(item.GetRequestId()));
            //item.SetPriority(req_service.GetPriority(item.GetRequestId()));

            // Atribue o id do item
            SchemeChecker checker = new SchemeChecker(conn, tran);

            item.SetId(checker.LastId("request_item", "itm_id") + 1);

            // Verifica se a prioridade é a mesma da requisição

            // Insere os dados na tabela de itens
            cmd = new NpgsqlCommand(post, conn, tran);
            cmd.Parameters.AddWithValue("@itm_id", item.itm_id);
            cmd.Parameters.AddWithValue("@itm_request_id", item.itm_request_id);
            cmd.Parameters.AddWithValue("@itm_status_id", item.itm_status_id);
            cmd.Parameters.AddWithValue("@itm_pn", item.itm_pn);
            cmd.Parameters.AddWithValue("@itm_quantity", item.itm_quantity);
            // Por padrão, a quantidade aprovada recebe o mesmo valor da quantidade solicitada!
            cmd.Parameters.AddWithValue("@itm_approved_quantity", item.itm_quantity);
            cmd.Parameters.AddWithValue("@itm_description", item.itm_description);
            cmd.Parameters.AddWithValue("@itm_application", item.GetApplication());
            cmd.Parameters.AddWithValue("@itm_priority", item.itm_priority);
            cmd.Parameters.AddWithValue("@itm_deadline", item.itm_deadline);
            cmd.Parameters.AddWithValue("@itm_active", item.itm_active);
            cmd.Parameters.AddWithValue("@itm_excluded", item.itm_excluded);

            cmd.ExecuteNonQuery();

            return(item.GetId());
        }
Ejemplo n.º 25
0
        protected override object handleGet(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet <UserId> userIds    = request.getUsers();
            String           msgCollId  = request.getParameter("msgCollId");
            HashSet <String> messageIds = request.getListParameter("messageIds");

            CollectionOptions options = new CollectionOptions(request);

            Preconditions <UserId> .requireNotEmpty(userIds, "No userId specified");

            Preconditions <UserId> .requireSingular(userIds, "Multiple userIds not supported");

            IEnumerator <UserId> iuserid = userIds.GetEnumerator();

            iuserid.MoveNext();
            UserId user = iuserid.Current;

            if (msgCollId == null)
            {
                // No message collection specified, return list of message collections
                return(service.getMessageCollections(user, MessageCollection.ALL_FIELDS,
                                                     options, request.getToken()));
            }
            // If messageIds are specified return them, otherwise return entries in the given collection.
            return(service.getMessages(user, msgCollId,
                                       Message.ALL_FIELDS, messageIds, options, request.getToken()));
        }
Ejemplo n.º 26
0
        protected override object handleDelete(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet <UserId> userIds    = request.getUsers();
            String           msgCollId  = request.getParameter("msgCollId");
            HashSet <String> messageIds = request.getListParameter("messageIds");

            Preconditions <UserId> .requireNotEmpty(userIds, "No userId specified");

            Preconditions <UserId> .requireSingular(userIds, "Multiple userIds not supported");

            if (msgCollId == null)
            {
                throw new ProtocolException((int)HttpStatusCode.BadRequest,
                                            "A message collection is required");
            }

            Preconditions <String> .requireNotEmpty(messageIds, "No message IDs specified");

            IEnumerator <UserId> iuserid = userIds.GetEnumerator();

            iuserid.MoveNext();
            UserId user = iuserid.Current;

            service.deleteMessages(user, msgCollId, messageIds, request.getToken());
            return(new JsonObject());
        }
Ejemplo n.º 27
0
        private void InitializeProtocols()
        {
            var protocol1 = new CommProtocol();
            var request   = new RequestItem(new byte[2] {
                0x20, 0x58
            }, true);

            protocol1.AddRequestWithDefaultOperation(request);

            _communicationProtocols.Add(InstructionType.PowerOff, protocol1);

            var protocol2 = new CommProtocol();

            request = new RequestItem(new byte[2] {
                0x20, 0x59
            }, true);

            protocol2.AddRequestWithDefaultOperation(request);

            _communicationProtocols.Add(InstructionType.Query, protocol2);


            var protocol3 = new CommProtocol();

            request = new RequestItem(new byte[2] {
                0x20, 0x5B
            }, true);
            protocol3.AddRequestWithDefaultOperation(request);
            _communicationProtocols.Add(InstructionType.MarkerStimulate, protocol3);
        }
Ejemplo n.º 28
0
        /**
         * /appdata/{userId}/{groupId}/{appId} - fields={field1, field2}
         *
         * examples: /appdata/john.doe/@friends/app?fields=count /appdata/john.doe/@self/app
         *
         * The post data should be a regular json object. All of the fields vars will be pulled from the
         * values and set. If there are no fields vars then all of the data will be overridden.
         */
        protected override object handlePost(RequestItem request)
        {
            request.applyUrlTemplate(APP_DATA_PATH);

            HashSet <UserId> userIds = request.getUsers();

            Preconditions <UserId> .requireNotEmpty(userIds, "No userId specified");

            Preconditions <UserId> .requireSingular(userIds, "Multiple userIds not supported");

            Dictionary <String, String> values = request.getTypedParameter <Dictionary <String, String> >("data");

            foreach (String key in values.Keys)
            {
                if (!isValidKey(key))
                {
                    throw new ProtocolException(ResponseError.BAD_REQUEST,
                                                "One or more of the app data keys are invalid: " + key);
                }
            }
            IEnumerator <UserId> iuserid = userIds.GetEnumerator();

            iuserid.MoveNext();
            service.updatePersonData(iuserid.Current, request.getGroup(),
                                     request.getAppId(), request.getFields(), values, request.getToken());
            return(new JsonObject());
        }
Ejemplo n.º 29
0
        protected virtual void ProcessRequest(RequestItem request)
        {
            Pixbuf orig_image;

            try {
                using (var img = imageFileFactory.Create(request.Uri)) {
                    if (request.Width > 0)
                    {
                        orig_image = img.Load(request.Width, request.Height);
                    }
                    else
                    {
                        orig_image = img.Load();
                    }
                }
            } catch (GLib.GException e) {
                Log.Exception(e);
                return;
            }

            if (orig_image == null)
            {
                return;
            }

            request.Result = orig_image;
        }
        private bool SetUserAuthInfo(string[] dec)
        {
            bool result = false;

            // 개발자모드일경우 사용자인증X
            if (ApplicationConfig.Mode == "D")
            {
                Request = new RequestItem();
                Request.CORR_INSTT_CD = dec[0];
                Request.USR_ID        = dec[1];
                result = true;
            }
            else
            {
                //서비스 호출 로직
                using (AuthService service = new AuthService())
                {
                    Request = service.GetUserInfo(dec[0], dec[1]);
                }

                if (Request == null)
                {
                    result = false;
                }
                else
                {
                    result = (Request.CORR_INSTT_CD.Equals(dec[0], StringComparison.CurrentCultureIgnoreCase) &&
                              Request.USR_ID.Equals(dec[1], StringComparison.CurrentCultureIgnoreCase));
                }
            }

            return(result);
        }
Ejemplo n.º 31
0
        /**
         * Handles /samplecontainer/setstate and /samplecontainer/setevilness/{doevil}. TODO(doll): These
         * urls aren't very resty. Consider changing the samplecontainer.html calls post.
         */
        protected override object handlePost(RequestItem request)
        {
            request.applyUrlTemplate(POST_PATH);
            String type = request.getParameter("type");

            if (type.Equals("setstate"))
            {
                try
                {
                    String stateFile = request.getParameter("fileurl");
                    service.SetDb(JsonConvert.Import(FetchStateDocument(stateFile)) as JsonObject);
                }
                catch (JsonException e)
                {
                    throw new ProtocolException(ResponseError.BAD_REQUEST,
                                                "The json state file was not valid json");
                }
            }
            else if (type.Equals("setevilness"))
            {
                throw new ProtocolException(ResponseError.NOT_IMPLEMENTED,
                                            "evil data has not been implemented yet");
            }
            return(new JsonObject());
        }
        public static void LogException(Exception exToHandle, ServiceConfig srvcont, RequestItem Item)
        {
            ServiceConfig srvcontext = new ServiceConfig(srvcont.ConfigurationParameters);

            if (srvcontext.ConfigurationParameters.ExceptionLogNeeded)
            {
                DateTime dNow = DateTime.Now;

                Entities.tbl_genLog logentry = new Entities.tbl_genLog();
                logentry.ID_LogType = 1;
                logentry.LogID = exToHandle.GetType().Name;
                logentry.ID_Staff = Item.UserId;
                logentry.SessionID = Item.SessionId;
                logentry.RequestText = Item.ToString();
                logentry.LogText = exToHandle.ToString();
                logentry.CREATED_BY = Item.UserId;
                logentry.TS_CREATE = dNow;
                logentry.VALID_FROM = dNow;
                logentry.VALID_TO = dNow;
                srvcontext.DataContext.tbl_genLog.AddObject(logentry);
                try

                {
                    srvcontext.DataContext.SaveChanges();
                }
                catch (Exception ex)
                {

                    throw;
                }

            }
        }
Ejemplo n.º 33
0
 public CollectionOptions(RequestItem request)
 {
     this.sortBy = request.getSortBy();
     this.sortOrder = request.getSortOrder();
     this.setFilter(request.getFilterBy());
     this.setFilterOperation(request.getFilterOperation());
     this.setFilterValue(request.getFilterValue());
     this.setFirst(request.getStartIndex());
     this.setMax(request.getCount() ?? RequestItem.DEFAULT_COUNT);
     this.setUpdatedSince(request.getUpdatedSince());
 }
Ejemplo n.º 34
0
 /**
 * Allowed end-points /activities/{userId}/@self/{actvityId}+
 *
 * examples: /activities/john.doe/@self/1
 */
 protected override object handleDelete(RequestItem request)
 {
     request.applyUrlTemplate(ACTIVITY_ID_PATH);
     HashSet<UserId> userIds = request.getUsers();
     HashSet<String> activityIds = new HashSet<string>(request.getListParameter("activityId"));
     Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
     Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");
     IEnumerator<UserId> iuserid = userIds.GetEnumerator();
     iuserid.MoveNext();
     service.deleteActivities(iuserid.Current, request.getGroup(),
                              request.getAppId(), activityIds, request.getToken());
     return new JsonObject();
 }
Ejemplo n.º 35
0
        protected override object handlePut(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet<UserId> userIds = request.getUsers();
            String msgCollId = request.getParameter("msgCollId");
            HashSet<String> messageIds = request.getListParameter("messageIds");

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");

            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            UserId user = iuserid.Current;

            if (msgCollId == null) 
            {
                throw new ProtocolException((int)HttpStatusCode.BadRequest,
                        "A message collection is required");
            }

            if (messageIds.Count == 0) 
            {
                // No message IDs specified, this is a PUT to a message collection
                MessageCollection msgCollection = request.getTypedParameter<MessageCollection>("entity");
                if (msgCollection == null) 
                {
                    throw new ProtocolException((int)HttpStatusCode.BadRequest,
                                    "cannot parse message collection");
                }

                // TODO, do more validation.
                service.modifyMessageCollection(user, msgCollection, request.getToken());
                return new JsonObject();
            }

            Preconditions<string>.requireSingular(messageIds, "Only one messageId at a time");

            Message message = request.getTypedParameter<Message>("entity");
            // TODO, do more validation.

            if (message == null || message.id == null) 
            {
                throw new ProtocolException((int)HttpStatusCode.BadRequest,
                    "cannot parse message or missing ID");
            }
            IEnumerator<String> imsgid = messageIds.GetEnumerator();
            imsgid.MoveNext();
            service.modifyMessage(user, msgCollId, imsgid.Current, message, request.getToken());
            return new JsonObject();
        }
Ejemplo n.º 36
0
        protected override void ProcessRequest(RequestItem request)
        {
            try {
                base.ProcessRequest (request);

                Gdk.Pixbuf image = request.result;
                if (image != null)
                    Save (image, request.uri);

                System.Threading.Thread.Sleep (75);
            } catch (System.Exception e) {
                System.Console.WriteLine (e.ToString ());
            }
        }
Ejemplo n.º 37
0
        /**
        * Allowed endpoints /appdata/{userId}/{groupId}/{appId} - fields={field1, field2}
        *
        * examples: /appdata/john.doe/@friends/app?fields=count /appdata/john.doe/@self/app
        *
        * The post data should be a regular json object. All of the fields vars will be pulled from the
        * values and set on the person object. If there are no fields vars then all of the data will be
        * overridden.
        */

        protected override object handleDelete(RequestItem request)
        {
            request.applyUrlTemplate(APP_DATA_PATH);

            HashSet<UserId> userIds = request.getUsers();

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");
            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            service.deletePersonData(iuserid.Current, request.getGroup(),
                                     request.getAppId(), request.getFields(), request.getToken());
            return new JsonObject();
        }
Ejemplo n.º 38
0
        /**
        * Allowed end-points /activities/{userId}/@self
        *
        * examples: /activities/john.doe/@self - postBody is an activity object
        */
        protected override object handlePost(RequestItem request)
        {
            request.applyUrlTemplate(ACTIVITY_ID_PATH);

            HashSet<UserId> userIds = request.getUsers();
            HashSet<String> activityIds = new HashSet<string>(request.getListParameter("activityId"));

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");
            // TODO(lryan) This seems reasonable to allow on PUT but we don't have an update verb.
            Preconditions<string>.requireEmpty(activityIds, "Cannot specify activityId in create");
            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            service.createActivity(iuserid.Current, request.getGroup(),
                                   request.getAppId(), request.getFields(),
                                   request.getTypedParameter<Activity>("activity"),
                                   request.getToken());
            return new JsonObject();
        }
Ejemplo n.º 39
0
        protected override object handleDelete(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet<UserId> userIds = request.getUsers();
            String msgCollId = request.getParameter("msgCollId");
            HashSet<String> messageIds = request.getListParameter("messageIds");

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");

            if (msgCollId == null)
            {
                throw new ProtocolException((int)HttpStatusCode.BadRequest,
                    "A message collection is required");
            }

            Preconditions<String>.requireNotEmpty(messageIds, "No message IDs specified");
            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            UserId user = iuserid.Current;
            service.deleteMessages(user, msgCollId, messageIds, request.getToken());
            return new JsonObject();
        }
Ejemplo n.º 40
0
 /**
 * Handles /samplecontainer/setstate and /samplecontainer/setevilness/{doevil}. TODO(doll): These
 * urls aren't very resty. Consider changing the samplecontainer.html calls post.
 */
 protected override object handlePost(RequestItem request)
 {
     request.applyUrlTemplate(POST_PATH);
     String type = request.getParameter("type");
     if (type.Equals("setstate"))
     {
         try
         {
             String stateFile = request.getParameter("fileurl");
             service.SetDb(JsonConvert.Import(FetchStateDocument(stateFile)) as JsonObject);
         }
         catch (JsonException e)
         {
             throw new ProtocolException(ResponseError.BAD_REQUEST,
                                          "The json state file was not valid json");
         }
     }
     else if (type.Equals("setevilness"))
     {
         throw new ProtocolException(ResponseError.NOT_IMPLEMENTED,
                                      "evil data has not been implemented yet");
     }
     return new JsonObject();
 }
Ejemplo n.º 41
0
        protected override object handleGet(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet<UserId> userIds = request.getUsers();
            String msgCollId = request.getParameter("msgCollId");
            HashSet<String> messageIds = request.getListParameter("messageIds");

            CollectionOptions options = new CollectionOptions(request);

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");
            
            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            UserId user = iuserid.Current;

            if (msgCollId == null)
            {
                // No message collection specified, return list of message collections
                return service.getMessageCollections(user, MessageCollection.ALL_FIELDS,
                    options, request.getToken());
            }
            // If messageIds are specified return them, otherwise return entries in the given collection.
            return service.getMessages(user, msgCollId,
                Message.ALL_FIELDS, messageIds, options, request.getToken());
        }
Ejemplo n.º 42
0
        protected override object handlePost(RequestItem request)
        {
            request.applyUrlTemplate(MESSAGE_PATH);

            HashSet<UserId> userIds = request.getUsers();
            String msgCollId = request.getParameter("msgCollId");
            HashSet<String> messageIds = request.getListParameter("messageIds");

            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            Preconditions<UserId>.requireSingular(userIds, "Multiple userIds not supported");

            IEnumerator<UserId> iuserid = userIds.GetEnumerator();
            iuserid.MoveNext();
            UserId user = iuserid.Current;

            if (msgCollId == null) 
            {
                // Request to create a new message collection
                MessageCollection msgCollection = request.getTypedParameter<MessageCollection>("entity");

                return service.createMessageCollection(user, msgCollection, request.getToken());
            }

            // A message collection has been specified, allow for posting

            Preconditions<string>.requireEmpty(messageIds,"Message IDs not allowed here, use PUT instead");

            Message message = request.getTypedParameter<Message>("entity");
            Preconditions<String>.requireNotEmpty(message.recipients, "No recipients specified");
            service.createMessage(user, request.getAppId(), msgCollId, message,
                                request.getToken());
            return new JsonObject();
        }
Ejemplo n.º 43
0
 protected IAsyncResult HandleRequestItem(RequestItem requestItem)
 {
     DataRequestHandler handler = dispatcher.getHandler(requestItem.getService());
     return handler == null ? null : handler.handleItem(requestItem);
 }
	/* The worker thread's main function.  */
	private void WorkerThread ()
	{
		try {
			while (true) {
				lock (processed_requests) {
					if (current_request != null) {
						processed_requests.Enqueue (current_request);
						
						if (! pending_notify_notified) {
							pending_notify.WakeupMain ();
							pending_notify_notified = true;
						}
						
						current_request = null;
					}
				}
	
				lock (queue) {
					
					while (queue.Count == 0 || block_count > 0)
						Monitor.Wait (queue);
					
					int pos = queue.Count - 1;
	
					current_request = queue [pos] as RequestItem;
					queue.RemoveAt (pos);
					requests_by_uri.Remove (current_request.uri);
				}
				
				ProcessRequest (current_request);
			}
		} catch (ThreadAbortException) {
			//Aborting
		}
	}
	// Private utility methods.

	protected virtual void ProcessRequest (RequestItem request)
	{
		Pixbuf orig_image;
		try {
			using (FSpot.ImageFile img = FSpot.ImageFile.Create (request.uri)) {
				if (request.width > 0) {
					orig_image = img.Load (request.width, request.height);
				} else {
					orig_image = img.Load ();
				}
			}
		} catch (GLib.GException e){
			System.Console.WriteLine (e.ToString ());
			return;		
		}
		
		if (orig_image == null)
			return;
		
		request.result = orig_image;
	}
Ejemplo n.º 46
0
        /**
        * Allowed end-points /people/{userId}+/{groupId} /people/{userId}/{groupId}/{optionalPersonId}+
        *
        * examples: /people/john.doe/@all /people/john.doe/@friends /people/john.doe/@self
        */
        protected override object handleGet(RequestItem request)
        {
            request.applyUrlTemplate(PEOPLE_PATH);

            GroupId groupId = request.getGroup();
            HashSet<String> optionalPersonId = new HashSet<string>(request.getListParameter("personId"));
            HashSet<String> fields = request.getFields(Person.DEFAULT_FIELDS);
            HashSet<UserId> userIds = request.getUsers();

            // Preconditions
            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            if (userIds.Count > 1 && optionalPersonId.Count != 0)
            {
                throw new ArgumentException("Cannot fetch personIds for multiple userIds");
            }

            // handle supportedFields request
            if (userIds.Contains(new UserId(UserId.Type.userId,"@supportedFields")))
            {
                var supported = JsonContainerConfig.Instance.GetJsonObject(request.getToken().getContainer() ?? "default", "gadgets.features")
                                            .getJSONObject("opensocial-0.8")
                                            .getJSONObject("supportedFields")["person"] as JsonArray;
                var collection = new RestfulCollection<object>();
                if (supported != null && supported.Count > 0)
                {
                    foreach (var value in supported)
                    {
                        collection.entry.Add(value);
                    }
                    collection.totalResults = supported.Count;
                }
                return collection;
            }

            CollectionOptions options = new CollectionOptions();
            options.setSortBy(request.getSortBy());
            options.setSortOrder(request.getSortOrder());
            options.setFilter(request.getFilterBy());
            options.setFilterOperation(request.getFilterOperation());
            options.setFilterValue(request.getFilterValue());
            options.setFirst(request.getStartIndex());
            options.setMax(request.getCount() ?? RequestItem.DEFAULT_COUNT);

            if (userIds.Count == 1)
            {
                if (optionalPersonId.Count == 0)
                {
                    if (groupId.getType() == GroupId.Type.self)
                    {
                        IEnumerator<UserId> iuserid = userIds.GetEnumerator();
                        iuserid.MoveNext();
                        return personService.getPerson(iuserid.Current, fields, request.getToken());
                    }
                    return personService.getPeople(userIds, groupId, options, fields, request.getToken());
                }
                if (optionalPersonId.Count == 1)
                {
                    IEnumerator<string> ipersonid = optionalPersonId.GetEnumerator();
                    ipersonid.MoveNext();
                    return personService.getPerson(new UserId(UserId.Type.userId,
                                                              ipersonid.Current), fields, request.getToken());
                }
                HashSet<UserId> personIds = new HashSet<UserId>();
                foreach (String pid in optionalPersonId)
                {
                    personIds.Add(new UserId(UserId.Type.userId, pid));
                }
                // Every other case is a collection response of optional person ids
                var result = personService.getPeople(personIds, new GroupId(GroupId.Type.self, null),
                                               options, fields, request.getToken());
                if (request.getCount() != null)
                {
                    result.itemsPerPage = request.getCount().Value;
                }
                return result;
            }

            // Every other case is a collection response.
            var result2 = personService.getPeople(userIds, groupId, options, fields, request.getToken());
            if (request.getCount() != null)
            {
                result2.itemsPerPage = request.getCount().Value;
            }
            return result2; 
        }
Ejemplo n.º 47
0
 /**
 * Handles /samplecontainer/dumpstate
 */
 protected override object handleGet(RequestItem request)
 {
     return service.getDb();
 }
        public ResponseItem VoidTest(RequestItem Item)
        {
            ResponseItem re = new ResponseItem(Item);

            re.RequestItem.RequestLog = re.RequestItem.RequestLog + "srv_start: " + DateTime.Now.ToString() + ",";
            ServiceConfig srvcont = new ServiceConfig(_serviceconfigparameters);
            decimal? TR_SubmitMinHours = null;
            Queries.GetQueries getQ = new Queries.GetQueries(_serviceconfigparameters);

            RuntimeProperties _RuntimeProperties = new RuntimeProperties(_serviceconfigparameters);
            _RuntimeProperties.GetPersonalProperties(Item.reqp_userid);

            try
            {

                TR_SubmitMinHours = getQ.tbl_hrWorkingHourTemplate_MinHoursDaily(Item.reqp_userid, Item.reqp_date, _RuntimeProperties.CalendarName.GetValue());
                // TRS_PrivateGetDailyHourLimitByUser(Item.reqp_date, Item.reqp_userid);

                TR_SubmitMinHours = TR_SubmitMinHours == null ? Convert.ToDecimal(8.25) : TR_SubmitMinHours;

                HelperClasses.Serializer srl = new HelperClasses.Serializer();

                string hour = srl.NTSoftJsonSerialize(TR_SubmitMinHours.ToString());
                re.ResponseBody = hour.Replace(",", ".");
                re.RequestCompleted = true;

            }

            catch (Exception ex)
            {
                HelperClasses.ExceptionHandler.LogException(ex, srvcont, Item);
                //re.ResponseBody = ex.ToString();
                re.RequestCompleted = false;
            }

            re.RequestItem.RequestLog = re.RequestItem.RequestLog + "srv_finish: " + DateTime.Now.ToString() + ",";
            return re;
        }
 public void TRS_GetLastFilledDayByUser(RequestItem Item)
 {
     ResponseItem response = new ResponseItem();
     myService.TRS_GetLastFilledDayByUserCompleted += new TRS_GetLastFilledDayByUserCompletedEventHandler(myService_TRS_GetLastFilledDayByUserCompleted);
     myService.TRS_GetLastFilledDayByUserAsync(Item);
 }
Ejemplo n.º 50
0
        /**
        * Allowed end-points /activities/{userId}/{groupId}/{optionalActvityId}+
        * /activities/{userId}+/{groupId}
        *
        * examples: /activities/john.doe/@self/1 /activities/john.doe/@self
        * /activities/john.doe,jane.doe/@friends
        */
        protected override object handleGet(RequestItem request)
        {
            request.applyUrlTemplate(ACTIVITY_ID_PATH);

            HashSet<UserId> userIds = request.getUsers();
            HashSet<String> optionalActivityIds = new HashSet<string>(request.getListParameter("activityId"));

            // Preconditions
            Preconditions<UserId>.requireNotEmpty(userIds, "No userId specified");
            if (userIds.Count > 1 && optionalActivityIds.Count != 0)
            {
                throw new ArgumentException("Cannot fetch same activityIds for multiple userIds");
            }

            CollectionOptions options = new CollectionOptions();
            options.setSortBy(request.getSortBy());
            options.setSortOrder(request.getSortOrder());
            options.setFilter(request.getFilterBy());
            options.setFilterOperation(request.getFilterOperation());
            options.setFilterValue(request.getFilterValue());
            options.setFirst(request.getStartIndex());
            options.setMax(request.getCount() ?? RequestItem.DEFAULT_COUNT);

            if (optionalActivityIds.Count != 0)
            {
                if (optionalActivityIds.Count == 1)
                {
                    IEnumerator<UserId> iuserid = userIds.GetEnumerator();
                    iuserid.MoveNext();
                    IEnumerator<string> iactivity = optionalActivityIds.GetEnumerator();
                    iactivity.MoveNext();
                    return service.getActivity(iuserid.Current, request.getGroup(),
                                               request.getAppId(), options, request.getFields(), iactivity.Current,
                                               request.getToken());
                }
                else
                {
                    IEnumerator<UserId> iuserid = userIds.GetEnumerator();
                    iuserid.MoveNext();
                    return service.getActivities(iuserid.Current, request.getGroup(),
                                                 request.getAppId(), request.getFields(), optionalActivityIds, request.getToken());
                }
            }

            return service.getActivities(userIds, request.getGroup(), request.getAppId(), options,
                                      request.getFields(), request.getToken());
        }
Ejemplo n.º 51
0
 /**
 * Allowed end-points /activities/{userId}/@self
 *
 * examples: /activities/john.doe/@self - postBody is an activity object
 */
 protected override object handlePut(RequestItem request)
 {
     handlePost(request);
     return new JsonObject();
 }
Ejemplo n.º 52
0
	/* Insert the request in the queue, return TRUE if the queue actually grew.
	   NOTE: Lock the queue before calling.  */

	private bool InsertRequest (string path, int order, int width, int height)
	{
		/* Check if this is the same as the request currently being processed.  */
		lock(processed_requests) {
			if (current_request != null && current_request.path == path)
				return false;
		}
		/* Check if a request for this path has already been queued.  */
		RequestItem existing_request = requests_by_path [path] as RequestItem;
		if (existing_request != null) {
			/* FIXME: At least for now, this shouldn't happen.  */
			if (existing_request.order != order)
				Console.WriteLine ("BUG: Filing another request of order {0} (previously {1}) for `{2}'",
						   order, existing_request.order, path);

			queue.Remove (existing_request);
			queue.Add (existing_request);
			return false;
		}

		/* New request, just put it on the queue with the right order.  */
		RequestItem new_request = new RequestItem (path, order, width, height);

		queue.Add (new_request);

		requests_by_path.Add (path, new_request);
		return true;
	}
Ejemplo n.º 53
0
 public Request(int orderid, int clientid, datetime orderdate, RequestItem prods, float prodprice)
 {
     this.OrderID = orderid;
     this.ClientID = clientid;
     this.OrderDate = orderdate;
     this.Prods = prods;
     this.ProdPrice = prodprice;
 }
Ejemplo n.º 54
0
 /**
 * We don't distinguish between put and post for these urls.
 */
 protected override object handlePut(RequestItem request)
 {
     return handlePost(request);
 }
Ejemplo n.º 55
0
 protected override object handlePost(RequestItem request)
 {
     throw new ProtocolException(ResponseError.NOT_IMPLEMENTED, "You can't add people right now.");
 }
Ejemplo n.º 56
0
 /**
 * We don't support any delete methods right now.
 */
 protected override object handleDelete(RequestItem request)
 {
     throw new ProtocolException(ResponseError.NOT_IMPLEMENTED, null);
 }
	/* Insert the request in the queue, return TRUE if the queue actually grew.
	   NOTE: Lock the queue before calling.  */

	private bool InsertRequest (Uri uri, int order, int width, int height)
	{
		/* Check if this is the same as the request currently being processed.  */
		lock(processed_requests) {
			if (current_request != null && current_request.uri == uri)
				return false;
		}
		/* Check if a request for this path has already been queued.  */
		RequestItem existing_request;
		if (requests_by_uri.TryGetValue (uri, out existing_request)) {
			/* FIXME: At least for now, this shouldn't happen.  */
			if (existing_request.order != order)
				Log.WarningFormat ("BUG: Filing another request of order {0} (previously {1}) for `{2}'",
						   order, existing_request.order, uri);

			queue.Remove (existing_request);
			queue.Add (existing_request);
			return false;
		}

		/* New request, just put it on the queue with the right order.  */
		RequestItem new_request = new RequestItem (uri, order, width, height);

		queue.Add (new_request);

		lock (queue) {
			requests_by_uri.Add (uri, new_request);
		}
		return true;
	}
Ejemplo n.º 58
0
 protected override void ProcessRequest (RequestItem request)
 {
     var size = request.Width == 128 ? ThumbnailSize.Normal : ThumbnailSize.Large;
     request.Result = App.Instance.Container.Resolve<IThumbnailService> ().GetThumbnail (request.Uri, size);
 }
Ejemplo n.º 59
0
    /* The worker thread's main function.  */
    private void WorkerThread()
    {
        Log.Debug (this.ToString (), "Worker starting");
        try {
            while (!should_cancel) {
                lock (processed_requests) {
                    if (current_request != null) {
                        processed_requests.Enqueue (current_request);

                        if (! pending_notify_notified) {
                            pending_notify.WakeupMain ();
                            pending_notify_notified = true;
                        }

                        current_request = null;
                    }
                }

                lock (queue) {

                    while ((queue.Count == 0 || block_count > 0) && !should_cancel) {
                        Monitor.Wait (queue);
                    }

                    if (should_cancel) {
                        return;
                    }

                    int pos = queue.Count - 1;

                    current_request = queue [pos];
                    queue.RemoveAt (pos);
                    requests_by_uri.Remove (current_request.Uri);
                }

                ProcessRequest (current_request);
            }
        } catch (ThreadAbortException) {
            //Aborting
        }
    }
Ejemplo n.º 60
0
    protected virtual void ProcessRequest(RequestItem request)
    {
        Pixbuf orig_image;
        try {
            using (var img = ImageFile.Create (request.Uri)) {
                if (request.Width > 0) {
                    orig_image = img.Load (request.Width, request.Height);
                } else {
                    orig_image = img.Load ();
                }
            }
        } catch (GLib.GException e) {
            Log.Exception (e);
            return;
        }

        if (orig_image == null) {
            return;
        }

        request.Result = orig_image;
    }