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)); }
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); }
//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")); }
public void SearchRequestItems() { this.dsRequestItems = RequestItem.GetRequestItems(this.cnConnection, this.riSearch); this.dgvRequestItems.DataSource = this.dsRequestItems; this.dgvRequestItems.DataMember = "tabRequestItems"; }
/* 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); }
/// <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 }); }
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); }
// 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; }
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); }
/// <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); }
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()); } }
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); }
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); }
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)); } }
/* 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); } }
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(); } }
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() + ","; }
// 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)); }
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; }
/// <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()); }
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())); }
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()); }
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); }
/** * /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()); }
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); }
/** * 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; } } }
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()); }
/** * 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(); }
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(); }
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 ()); } }
/** * 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(); }
/** * 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(); }
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(); }
/** * 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(); }
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()); }
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(); }
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; }
/** * 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; }
/** * 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); }
/** * 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()); }
/** * 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(); }
/* 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; }
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; }
/** * We don't distinguish between put and post for these urls. */ protected override object handlePut(RequestItem request) { return handlePost(request); }
protected override object handlePost(RequestItem request) { throw new ProtocolException(ResponseError.NOT_IMPLEMENTED, "You can't add people right now."); }
/** * 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; }
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); }
/* 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 } }
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; }