private void SetCurrentACCOp(object sender, object data) { try { DocsAndMedsList = new ObservableCollection <docsAndMeds>(); DocsAndMedsList.Add(new docsAndMeds(false, 0, "всех")); foreach (var x in Data.Doctor.GetAll) { DocsAndMedsList.Add(new docsAndMeds(true, x.Id, x.Sirname + " " + x.Name.ToCharArray()[0].ToString() + ". " + x.Patronimic.ToCharArray()[0].ToString() + ".")); } foreach (var x in Data.MedPersonal.GetAll) { DocsAndMedsList.Add(new docsAndMeds(false, x.Id, x.Surname + " " + x.Name.ToCharArray()[0].ToString() + ". " + x.Patronimic.ToCharArray()[0].ToString() + ".")); } bool testC = false; Accaunt CurrentAc; if (data != null) { CurrentAcaunt = (int)data; CurrentAc = Data.Accaunt.Get((int)data); if ((CurrentAc.isDoctor == null || !CurrentAc.isDoctor.Value) || (CurrentAc.isMedPersonal == null || !CurrentAc.isMedPersonal.Value)) { isMyOpVisible = Visibility.Collapsed; SelectedIdDocMed = 0; SelectedDocOrMed = DocsAndMedsList[0]; } else { isMyOpVisible = Visibility.Visible; for (int i = 0; i < DocsAndMedsList.Count; ++i) { if (CurrentAc.isDoctor != null && CurrentAc.isDoctor.Value && DocsAndMedsList[i].isDoc == true && DocsAndMedsList[i].id == CurrentAc.idврач) { SelectedIdDocMed = i; } else if (CurrentAc.isMedPersonal != null && CurrentAc.isMedPersonal.Value && DocsAndMedsList[i].isDoc == false && DocsAndMedsList[i].id == CurrentAc.idмедперсонал) { SelectedIdDocMed = i; SelectedIdDocMed = 0; } } } } else { CurrentAc = Data.Accaunt.Get(CurrentAcaunt); if ((CurrentAc.isDoctor == null || !CurrentAc.isDoctor.Value) || (CurrentAc.isMedPersonal == null || !CurrentAc.isMedPersonal.Value)) { isMyOpVisible = Visibility.Collapsed; SelectedIdDocMed = 0; SelectedDocOrMed = DocsAndMedsList[0]; } else { isMyOpVisible = Visibility.Visible; for (int i = 0; i < DocsAndMedsList.Count; ++i) { if (CurrentAc.isDoctor != null && CurrentAc.isDoctor.Value && DocsAndMedsList[i].isDoc == true && DocsAndMedsList[i].id == CurrentAc.idврач) { SelectedIdDocMed = i; } else if (CurrentAc.isMedPersonal != null && CurrentAc.isMedPersonal.Value && DocsAndMedsList[i].isDoc == false && DocsAndMedsList[i].id == CurrentAc.idмедперсонал) { SelectedIdDocMed = i; } } } } if (CurrentAc == null || (CurrentAc.isAdmin != null && CurrentAc.isAdmin.Value)) { isMyOpVisible = Visibility.Collapsed; SelectedIdDocMed = 0; SelectedDocOrMed = DocsAndMedsList[0]; } else { Operations = new ObservableCollection <OperationStruct>(); bool test = true; var Operationsbuf = new ObservableCollection <OperationStruct>(); foreach (var Operation in Data.Operation.GetAll) { test = true; if (CurrentAc.isDoctor != null && CurrentAc.isDoctor.Value) { foreach (var Brigade in Data.Brigade.GetAll) { if (Brigade.id_operation == Operation.Id && CurrentAc.idврач == Brigade.id_doctor) { test = false; } } } else if (CurrentAc.isMedPersonal != null && CurrentAc.isMedPersonal.Value) { foreach (var Brigade in Data.BrigadeMedPersonal.GetAll) { if (Brigade.id_operation == Operation.Id && CurrentAc.idмедперсонал == Brigade.id_med_staff) { test = false; } } } if (!test) { DelegateCommand bufer = new DelegateCommand( () => { MessageBus.Default.Call("GetOperationForOverwiev", this, Operation.Id); Controller.NavigateTo <ViewModelOperationOverview>(); } ); DelegateCommand bufer2 = new DelegateCommand( () => { }); if (Operation.operation_result != null) { bufer2 = new DelegateCommand( () => { MessageBus.Default.Call("GetOprForOprResultOverview", this, Operation.Id); Controller.NavigateTo <ViewModelOperationResultOverview>(); }); } if (Operation.OpResult != null && IsCompletedOp == false) { } else if (Operation.OpCancle == null) { DateTime OpDate = Data.OperationDateTime.Get(Operation.Datetime_id.Value).Datetime; //DateTime buf1 = DateTime.Parse(Operation.Time); //OpDate = new DateTime(OpDate.Year, OpDate.Month, OpDate.Day, buf1.Hour, buf1.Minute, buf1.Second); TimeSpan span = OpDate - DateTime.Now; if (span.Days <= 2 && span.Days >= 0 && OpDate > DateTime.Now) { Operationsbuf.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); testC = true; } if (_sortId == 0 && OpDate.Year == DateTime.Now.Year && OpDate.Month == DateTime.Now.Month && OpDate.Day == DateTime.Now.Day) { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } else if (_sortId == 1 && span.Days >= 0 && span.Days <= 3 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 2 && span.Days >= 0 && span.Days <= 7 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 3 && span.Days >= 0 && span.Days <= 32 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 4) { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } } } if (Operations.Count == 0) { VisOfNothingFaund = Visibility.Visible; } else { VisOfNothingFaund = Visibility.Collapsed; } ViewSource.Source = Operations; if (testC) { //Operationsbuf = Operations; CollectionViewSource viewSourceBuf = new CollectionViewSource(); viewSourceBuf.Source = Operationsbuf; viewSourceBuf.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending)); viewSourceBuf.View.Refresh(); var bff = viewSourceBuf.View.GetEnumerator(); bff.MoveNext(); Operation bffs = ((OperationStruct)bff.Current).Operation; // TimeSpan span = bffs.Date - DateTime.Now; // if (span.) // int t = ((Operation)viewSourceBuf.View.GetEnumerator().Current).Id; MessageBus.Default.Call("GetAcaunt", bffs, CurrentAcaunt); MessageBus.Default.Call("SetAlertVisibility", this, Visibility.Visible); } else { MessageBus.Default.Call("GetAcaunt", null, CurrentAcaunt); MessageBus.Default.Call("SetAlertVisibility", this, Visibility.Collapsed); } if (_isSortByData == true) { ViewSource.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending)); // Let the UI control refresh in order for changes to take place. ViewSource.View.Refresh(); } else { ViewSource.SortDescriptions.Clear(); ViewSource.View.Refresh(); } FilterTextCommand.Execute(); _isMyOpChecked = true; OnPropertyChanged("IsMyOpChecked"); Controller.NavigateTo <ViewModelCalendarOperations>(); } } catch (Exception exc) { Operations = new ObservableCollection <OperationStruct>(); ViewSource.Source = Operations; ViewSource.SortDescriptions.Clear(); ViewSource.View.Refresh(); } _filterText = ""; OnPropertyChanged("FilterText"); }
private void SetSelectedMedOrDocOps() { try { //bool testC = false; // Accaunt CurrentAc; Operations = new ObservableCollection <OperationStruct>(); bool test = true; var Operationsbuf = new ObservableCollection <OperationStruct>(); foreach (var Operation in Data.Operation.GetAll) { test = true; if (SelectedDocOrMed.id == 0) { test = false; } else if (SelectedDocOrMed.isDoc) { foreach (var Brigade in Data.Brigade.GetAll) { if (Brigade.id_operation == Operation.Id && SelectedDocOrMed.id == Brigade.id_doctor) { test = false; } } } else if (!SelectedDocOrMed.isDoc) { foreach (var Brigade in Data.BrigadeMedPersonal.GetAll) { if (Brigade.id_operation == Operation.Id && SelectedDocOrMed.id == Brigade.id_med_staff) { test = false; } } } if (!test) { DelegateCommand bufer = new DelegateCommand( () => { MessageBus.Default.Call("GetOperationForOverwiev", this, Operation.Id); Controller.NavigateTo <ViewModelOperationOverview>(); }); DelegateCommand bufer2 = new DelegateCommand( () => { }); if (Operation.operation_result != null) { bufer2 = new DelegateCommand( () => { MessageBus.Default.Call("GetOperationIDForAddOperationResult", this, Operation.Id); Controller.NavigateTo <ViewModelAddOperationResult>(); }); } if (Operation.OpResult != null && IsCompletedOp == false) { } else if (Operation.OpCancle == null) { DateTime OpDate = Data.OperationDateTime.Get(Operation.Datetime_id.Value).Datetime; //DateTime buf1 = DateTime.Parse(Operation.Time); //OpDate = new DateTime(OpDate.Year, OpDate.Month, OpDate.Day, buf1.Hour, buf1.Minute, buf1.Second); TimeSpan span = OpDate - DateTime.Now; if (_sortId == 0 && OpDate.Year == DateTime.Now.Year && OpDate.Month == DateTime.Now.Month && OpDate.Day == DateTime.Now.Day) { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } else if (_sortId == 1 && span.Days >= 0 && span.Days <= 3 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 2 && span.Days >= 0 && span.Days <= 7 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 3 && span.Days >= 0 && span.Days <= 32 && span.Hours > 0) { if (span.Days == 0 && span.Hours == 0) { } else { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } else if (_sortId == 4) { Operations.Add(new OperationStruct(bufer, Operation, bufer2, OpDate, Data)); } } } } if (Operations.Count == 0) { VisOfNothingFaund = Visibility.Visible; } else { VisOfNothingFaund = Visibility.Collapsed; } ViewSource.Source = Operations; if (_isSortByData == true) { ViewSource.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending)); // Let the UI control refresh in order for changes to take place. ViewSource.View.Refresh(); } else { ViewSource.SortDescriptions.Clear(); ViewSource.View.Refresh(); } FilterTextCommand.Execute(); Controller.NavigateTo <ViewModelCalendarOperations>(); } catch (Exception exc) { Operations = new ObservableCollection <OperationStruct>(); ViewSource.Source = Operations; ViewSource.SortDescriptions.Clear(); ViewSource.View.Refresh(); } _filterText = ""; OnPropertyChanged("FilterText"); }