Skip to content

Instantly share code, notes, and snippets.

@spolezhaev
Last active January 13, 2017 21:07
Show Gist options
  • Save spolezhaev/fc5c052931ffbb8e9379d50f8312418d to your computer and use it in GitHub Desktop.
Save spolezhaev/fc5c052931ffbb8e9379d50f8312418d to your computer and use it in GitHub Desktop.
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