Пример #1
0
        private void sortirajRucno()
        {
            int index = -1;

            if (cb1.Checked && cb2.Checked)
            {
                MessageBox.Show("Morate selektovati samo jedan checkbox", "GRESKA!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else if (cb1.Checked)
            {
                long min = long.MaxValue;

                for (int i = 0; i < listaWS.Count; i++)
                {
                    if ((listaWS[i].Tarival_p != "" && listaWS[i].Tleave_p != "") ||
                        (listaWS[i].Treturn_p != "" && listaWS[i].Tleave2_2 != "") ||
                        (listaWS[i].Tarival_p != "" && listaWS[i].Tleave2_2 != ""))
                    {
                        if (listaWS[i].Tarival_p != "")
                        {
                            ariv = DateTime.Parse(listaWS[i].Tarival_p);
                        }

                        if (listaWS[i].Treturn_p != "")
                        {
                            ret = DateTime.Parse(listaWS[i].Treturn_p);
                        }


                        if (listaWS[i].Tleave2_2 != "")
                        {
                            leave2 = DateTime.Parse(listaWS[i].Tleave2_2);
                        }


                        if (listaStudent[indexdg3].Tstart_p != "")
                        {
                            tstart = DateTime.Parse(listaStudent[indexdg3].Tstart_p);
                        }


                        if (listaWS[i].Tleave_p != "")
                        {
                            leave = DateTime.Parse(listaWS[i].Tleave_p);
                        }


                        if (listaStudent[indexdg3].TlastEdit_p != "")
                        {
                            le = DateTime.Parse(listaStudent[indexdg3].TlastEdit_p);
                        }

                        if (tstart.Date == ariv.Date || tstart.Date == leave.Date || tstart.Date == leave2.Date)
                        {
                            if (Math.Abs(tstart.Ticks - ariv.Ticks) < min)
                            {
                                min   = Math.Abs(tstart.Ticks - ariv.Ticks);
                                index = i;
                            }

                            if (Math.Abs(tstart.Ticks - leave.Ticks) < min)
                            {
                                min   = Math.Abs(tstart.Ticks - leave.Ticks);
                                index = i;
                            }

                            if (Math.Abs(tstart.Ticks - leave2.Ticks) < min)
                            {
                                min   = Math.Abs(tstart.Ticks - leave2.Ticks);
                                index = i;
                            }
                        }
                    }
                }
                if (index != -1)
                {
                    WS obj = new WS();
                    obj.WSid_p     = listaWS[index].WSid_p;
                    obj.WSorigin_p = listaWS[index].WSorigin_p;
                    obj.Tarival_p  = listaWS[index].Tarival_p;
                    obj.Tleave_p   = listaWS[index].Tleave_p;
                    obj.Treturn_p  = listaWS[index].Treturn_p;
                    obj.Tleave2_2  = listaWS[index].Tleave2_2;
                    obj.korisnik_p = listaStudent[indexdg3];

                    upareno.Add(obj);
                    listaWS.Remove(listaWS[index]);
                    listaStudent.Remove(listaStudent[indexdg3]);
                }
            }
            else if (cb2.Checked)
            {
                long min = long.MaxValue;

                for (int j = 0; j < listaStudent.Count; j++)
                {
                    for (int i = 0; i < listaWS.Count; i++)
                    {
                        if ((listaWS[i].Tarival_p != "" && listaWS[i].Tleave_p != "") ||
                            (listaWS[i].Treturn_p != "" && listaWS[i].Tleave2_2 != "") ||
                            (listaWS[i].Tarival_p != "" && listaWS[i].Tleave2_2 != ""))
                        {
                            if (listaWS[i].Tarival_p != "")
                            {
                                ariv = DateTime.Parse(listaWS[i].Tarival_p);
                            }

                            if (listaWS[i].Treturn_p != "")
                            {
                                ret = DateTime.Parse(listaWS[i].Treturn_p);
                            }


                            if (listaWS[i].Tleave2_2 != "")
                            {
                                leave2 = DateTime.Parse(listaWS[i].Tleave2_2);
                            }


                            if (listaStudent[j].Tstart_p != "")
                            {
                                tstart = DateTime.Parse(listaStudent[j].Tstart_p);
                            }


                            if (listaWS[i].Tleave_p != "")
                            {
                                leave = DateTime.Parse(listaWS[i].Tleave_p);
                            }


                            if (listaStudent[j].TlastEdit_p != "")
                            {
                                le = DateTime.Parse(listaStudent[j].TlastEdit_p);
                            }

                            if (tstart.Date == ariv.Date || tstart.Date == leave.Date || tstart.Date == leave2.Date)
                            {
                                if (Math.Abs(tstart.Ticks - ariv.Ticks) < min)
                                {
                                    min   = Math.Abs(tstart.Ticks - ariv.Ticks);
                                    index = i;
                                }

                                if (Math.Abs(tstart.Ticks - leave.Ticks) < min)
                                {
                                    min   = Math.Abs(tstart.Ticks - leave.Ticks);
                                    index = i;
                                }

                                if (Math.Abs(tstart.Ticks - leave2.Ticks) < min)
                                {
                                    min   = Math.Abs(tstart.Ticks - leave2.Ticks);
                                    index = i;
                                }
                            }
                        }
                    }
                    if (index != -1)
                    {
                        WS obj = new WS();
                        obj.WSid_p     = listaWS[index].WSid_p;
                        obj.WSorigin_p = listaWS[index].WSorigin_p;
                        obj.Tarival_p  = listaWS[index].Tarival_p;
                        obj.Tleave_p   = listaWS[index].Tleave_p;
                        obj.Treturn_p  = listaWS[index].Treturn_p;
                        obj.Tleave2_2  = listaWS[index].Tleave2_2;
                        obj.korisnik_p = listaStudent[j];

                        upareno.Add(obj);
                        listaWS.Remove(listaWS[index]);
                        listaStudent.Remove(listaStudent[j]);
                        j--;
                    }
                }
            }
            ucitajLose();
        }
Пример #2
0
        private void proveriID()
        {
            for (int i = 0; i < listaWS.Count; i++)
            {
                for (int j = 0; j < listaStudent.Count; j++)
                {
                    if (listaWS[i].WSid_p == listaStudent[j].ws_p || listaStudent[j].ws_p == listaWS[i].WSorigin_p)
                    {
                        if ((listaWS[i].Tarival_p != "" && listaWS[i].Tleave_p != "") ||
                            (listaWS[i].Treturn_p != "" && listaWS[i].Tleave2_2 != "") ||
                            (listaWS[i].Tarival_p != "" && listaWS[i].Tleave2_2 != ""))
                        {
                            if (listaWS[i].Tarival_p != "")
                            {
                                ariv = DateTime.Parse(listaWS[i].Tarival_p);
                            }

                            if (listaWS[i].Treturn_p != "")
                            {
                                ret = DateTime.Parse(listaWS[i].Treturn_p);
                            }


                            if (listaWS[i].Tleave2_2 != "")
                            {
                                leave2 = DateTime.Parse(listaWS[i].Tleave2_2);
                            }


                            if (listaStudent[j].Tstart_p != "")
                            {
                                tstart = DateTime.Parse(listaStudent[j].Tstart_p);
                            }


                            if (listaWS[i].Tleave_p != "")
                            {
                                leave = DateTime.Parse(listaWS[i].Tleave_p);
                            }


                            if (listaStudent[j].TlastEdit_p != "")
                            {
                                le = DateTime.Parse(listaStudent[j].TlastEdit_p);
                            }


                            if ((DateTime.Compare(ariv, tstart) < 0 && DateTime.Compare(le, leave) < 0 && ariv.Date == tstart.Date) ||
                                (DateTime.Compare(ret, tstart) < 0 && DateTime.Compare(le, leave2) < 0 && ret.Date == tstart.Date) ||
                                (DateTime.Compare(ariv, tstart) < 0 && DateTime.Compare(le, leave2) < 0 && ariv.Date == tstart.Date))
                            {
                                WS obj = new WS();
                                obj.WSid_p     = listaWS[i].WSid_p;
                                obj.WSorigin_p = listaWS[i].WSorigin_p;
                                obj.Tarival_p  = listaWS[i].Tarival_p;
                                obj.Tleave_p   = listaWS[i].Tleave_p;
                                obj.Treturn_p  = listaWS[i].Treturn_p;
                                obj.Tleave2_2  = listaWS[i].Tleave2_2;
                                obj.korisnik_p = listaStudent[j];

                                upareno.Add(obj);
                                listaWS.Remove(listaWS[i]);
                                listaStudent.Remove(listaStudent[j]);
                                i--;
                                j--;
                            }
                        }
                    }
                }
            }
        }