public JsonResult SetMark(long userId, UserLanguages userLanguages, KnowledgeMark mark, TrainerItem item, RepetitionType repetitionType = RepetitionType.All) { var itemDataType = (KnowledgeDataType)(item != null ? item.DataType : int.MinValue); if (IsInvalid(userId, userLanguages) || EnumValidator.IsInvalid(mark) || item == null || IdValidator.IsInvalid(item.DataId) || EnumValidator.IsInvalid(itemDataType) || EnumValidator.IsInvalid(repetitionType)) { //TODO: писать сообщение return(JsonResultHelper.Error()); } IUserRepetitionIntervalQuery userRepetitionIntervalQuery = CreateUserRepetitionIntervalQuery(userId, repetitionType); var repetitionInterval = new UserRepetitionIntervalItem { DataId = item.DataId, DataType = itemDataType, SourceType = KnowledgeSourceType }; var trainerHelper = new TrainerHelper(userRepetitionIntervalQuery, userLanguages); return(trainerHelper.SetMark(Request, mark, repetitionInterval)); }
private void subItem(TrainerItem item) { this.controller.SendPostRequest(string.Format("api/item-sub/{0}", item.id), " ", (request) => { this.controller.Reload(); }, (request) => { }); }
public JsonResult SetMark(long userId, GroupForUser group, UserLanguages userLanguages, KnowledgeMark mark, TrainerItem item) { long groupId = GetGroupId(group); return(SetMarkAndGetModel(userId, userLanguages, groupId, mark, item)); }
public JsonResult SetMark(long userId, UserLanguages userLanguages, string group, KnowledgeMark mark, TrainerItem item) { long representationId = GetRepresentationId(group); return(SetMarkAndGetModel(userId, userLanguages, representationId, mark, item)); }
public TrainerModel GetTrainerModel(HttpRequestBase request) { var model = new TrainerModel(_userLanguages); List <UserRepetitionIntervalItem> repetitionIntervalItems = _userRepetitionIntervalQuery.GetRepetitionIntervalItems(_userLanguages.From.Id, _userLanguages.To.Id, MAX_COUNT_ITEMS_TO_GET); foreach (UserRepetitionIntervalItem repetitionItem in repetitionIntervalItems ?? new List <UserRepetitionIntervalItem>(0)) { var trainerItem = new TrainerItem(); var userKnowledge = repetitionItem.Data as UserKnowledgeItem; if (userKnowledge != null) { var dataType = userKnowledge.DataType; //тренируемся на запоминание пользовательских данных SpeakerDataType speakerType = KnowledgeHelper.GetSpeakerType(dataType); var parsedData = userKnowledge.ParsedData as SourceWithTranslation; trainerItem.NextTimeToShow = KnowledgeHelper.ConvertDateTimeToJsTicks(repetitionItem.NextTimeToShow); trainerItem.DataId = repetitionItem.DataId; trainerItem.DataType = (int)repetitionItem.DataType; trainerItem.HtmlSource = OurHtmlHelper.GetSpeakerHtml(parsedData.Source, speakerType); trainerItem.HtmlTranslation = OurHtmlHelper.GetSpeakerHtml(parsedData.Translation, speakerType); trainerItem.SourceLanguageId = parsedData.Source.LanguageId; trainerItem.TranslationLanguageId = parsedData.Translation.LanguageId; trainerItem.ImageUrl = parsedData.HasImage ? GetImageUrl(request, parsedData.Id, dataType) : null; } if (IdValidator.IsValid(trainerItem.DataId) && trainerItem.HtmlSource != null && trainerItem.HtmlTranslation != null) { //данные такого типа, могут быть представлены model.AddItem(trainerItem); } } return(model); }
private int addItem(int position, TrainerItem item, UnityAction function) { GameObject button = Instantiate(this.Item); this.itemPanels.Add(button); button.transform.SetParent(this.viewPort); RectTransform buttonRect = button.GetComponent <RectTransform>(); buttonRect.anchoredPosition = new Vector2(0, position); if (string.IsNullOrEmpty(item.item.name)) { button.transform.Find("Name").gameObject.GetComponent <Text>().text = item.item_name; } else { button.transform.Find("Name").gameObject.GetComponent <Text>().text = item.item.name; } button.transform.Find("Number").gameObject.GetComponent <Text>().text = item.number.ToString(); button.transform.Find("IncSub").Find("Add").gameObject.GetComponent <Button>().onClick.AddListener(delegate { this.addItem(item); }); button.transform.Find("IncSub").Find("Sub").gameObject.GetComponent <Button>().onClick.AddListener(delegate { this.subItem(item); }); return(position - 50); }