Last active
January 13, 2017 21:07
-
-
Save spolezhaev/fc5c052931ffbb8e9379d50f8312418d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Collections.Generic; | |
using System.Linq; | |
using Xamarin.Forms; | |
namespace Spisok.Views | |
{ | |
public class ItSect | |
{ | |
public string Name { get; set; } | |
public string Number { get; set; } | |
public int Timeslot { get; set; } | |
public string Time { get; set; } | |
public string Day { get; set; } | |
public int Aud { get; set; } | |
public ItSect(string name, int timeslot, int aud) | |
{ | |
Name = name; | |
Timeslot = timeslot; | |
Aud = aud; | |
} | |
} | |
public partial class SpisokList | |
{ | |
protected override void OnAppearing() | |
{ | |
base.OnAppearing(); | |
calledSelect = false; | |
} | |
public static List<ItSect> listSt; | |
private bool calledSelect = false; | |
private ItSect selectedItem; | |
static SpisokList() | |
{ | |
listSt = Parsing.SectionSet.Select(variable => new ItSect(variable.Name, variable.Timeslot, variable.Aud)).ToList(); | |
} | |
public SpisokList() | |
{ | |
if (!Parsing.favLoaded) | |
Parsing.loadFav(); | |
Title = "Секции"; | |
int number = 1; | |
foreach (var VARIABLE in listSt) | |
{ | |
VARIABLE.Name = VARIABLE.Name.ToUpper(); | |
switch (VARIABLE.Timeslot) | |
{ | |
case 1: | |
VARIABLE.Time = " 14:\r\n\r\n 00\r\n\r\n -\r\n\r\n 17:\r\n\r\n 00"; | |
VARIABLE.Day = " 26.\n\n"; | |
VARIABLE.Day += " 04/ \n\n вт"; | |
break; | |
case 3: | |
VARIABLE.Time = " 10:\r\n\r\n 00\r\n\r\n -\r\n\r\n 13:\r\n\r\n 00"; | |
VARIABLE.Day = " 27.\n\n 04/ \n\n ср"; | |
break; | |
case 4: | |
VARIABLE.Time = " 14:\r\n\r\n 00\r\n\r\n -\r\n\r\n 17:\r\n\r\n 00"; | |
VARIABLE.Day = " 27.\n\n 04/ \n\n ср"; | |
break; | |
case 6: | |
VARIABLE.Time = " 10:\r\n\r\n 00\r\n\r\n -\r\n\r\n 13:\r\n\r\n 00"; | |
VARIABLE.Day = " 28.\n\n 04/ \n\n чт"; | |
break; | |
case 7: | |
VARIABLE.Time = " 14:\r\n\r\n 00\r\n\r\n -\r\n\r\n 17:\r\n\r\n 00"; | |
VARIABLE.Day = " 28.\n\n 04/ \n\n чт"; | |
break; | |
case 8: | |
VARIABLE.Time = " 18:\r\n\r\n 00\r\n\r\n -\r\n\r\n 21:\r\n\r\n 00"; | |
VARIABLE.Day = " 28.\n\n 04/ \n\n чт"; | |
break; | |
case 9: | |
VARIABLE.Time = " 10:\r\n\r\n 00\r\n\r\n -\r\n\r\n 13:\r\n\r\n 00"; | |
VARIABLE.Day = " 29.\n\n 04/ \n\n пт"; | |
break; | |
} | |
if (number < 10) | |
VARIABLE.Number = "0" + number++ + "."; | |
else | |
{ | |
VARIABLE.Number = number++ + "."; | |
} | |
} | |
InitializeComponent(); | |
//SpisokLst.ItemSelected += (sender, e) => | |
//{ | |
// ((ListView)sender).SelectedItem = null; | |
//}; | |
SpisokLst.ItemsSource = listSt; | |
} | |
private void SpisokLst_OnItemTapped(object sender, ItemTappedEventArgs e) | |
{ | |
var dataitem = (ItSect)(e.Item); | |
if (SpisokLst.SelectedItem == dataitem && !calledSelect) | |
{ | |
//SpisokLst.SelectedItem = null; | |
selectedItem = dataitem; | |
SpisokLst_OnItemSelected(sender, null); | |
} | |
} | |
private void SpisokLst_OnItemSelected(object sender, SelectedItemChangedEventArgs e) | |
{ | |
calledSelect = true; | |
ItSect dataItem; | |
if (e != null) | |
{ | |
if (e.SelectedItem == null) | |
{ | |
return; //ItemSelected is called on deselection, which results in SelectedItem being set to null | |
} | |
dataItem = (ItSect)(e.SelectedItem); | |
} | |
else | |
{ | |
dataItem = selectedItem; | |
} | |
foreach (var section in Parsing.SectionSet) | |
{ | |
if (section.Name.ToUpper() == dataItem.Name) | |
{ | |
App.MasterDetailPage.Detail.Navigation.PushAsync(new SectionPage(section)); | |
break; | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment