예제 #1
0
        public string Post([FromBody] Message obj)
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var dispatcher = instance.SelectDispatcherSession(token);
            var driver     = instance.SelectDriverSession(token);
            var manager    = instance.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return("NOT EXISTING USER");
            }
            else if (obj == null)
            {
                return("NO OBJECT");
            }

            obj.dispatcher    = new Dopravio.Models.Dispatcher();
            obj.dispatcher.id = dispatcher.id;

            MessageFactory         messageFactory  = new MessageFactory();
            MessageTable <Message> instanceMessage = (MessageTable <Message>)messageFactory.GetMessageInstance();

            instanceMessage.Insert(obj);
            return("OK");
        }
예제 #2
0
        public string Delete(int id)
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var dispatcher = instance.SelectDispatcherSession(token);
            var driver     = instance.SelectDriverSession(token);
            var manager    = instance.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return("NOT EXISTING USER");
            }


            MessageFactory         messageFactory  = new MessageFactory();
            MessageTable <Message> instanceMessage = (MessageTable <Message>)messageFactory.GetMessageInstance();

            instanceMessage.Delete(id);
            return("OK");
        }
예제 #3
0
        public IEnumerable <Message> GetManagers()
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return(new List <Message>());
            }
            var manager = instance.SelectManagerSession(token);

            if (manager == null)
            {
                return(new List <Message>());
            }
            MessageFactory         messageFactory  = new MessageFactory();
            MessageTable <Message> instanceMessage = (MessageTable <Message>)messageFactory.GetMessageInstance();
            var messages = instanceMessage.SelectForManager(manager.id);
            var copy     = instanceMessage.SelectForManager(manager.id);

            foreach (var item in copy)
            {
                item.isRead = true;
                instanceMessage.Update(item);
            }
            return(messages);
        }
예제 #4
0
        public void LoadEntriesSessions()
        {
            SessionsTable.Controls.Clear();
            _sessions = DbConnector.GetInstance().GetSessions(_card.id);
            SessionsTable.RowCount = _sessions.Count;
            SessionsTable.Update();
            for (int i = 0; i < _sessions.Count; i++)
            {
                Label lb = new Label(); lb.AutoSize = true; lb.Font = new Font("Calibri", 12); lb.Size = new Size(150, lb.Height);
                lb.Text = _sessions[i].ProcedureName; lb.Show();

                DateTimePicker lb1 = new DateTimePicker(); lb1.Size = new Size(120, lb1.Height);
                lb1.Text = _sessions[i].DateTime; lb1.Show();

                Label        lb2 = new Label(); lb2.Font = new Font("Calibri", 12); lb2.Text = _sessions[i].EmployeeName; lb2.Show();
                Label        lb3 = new Label(); lb3.Font = new Font("Calibri", 12); lb3.Text = _sessions[i].Cost.ToString(); lb2.Show();
                DeleteButton sb  = new DeleteButton(_sessions[i].id, "session");
                sb.Click += sb_Click;
                this.SessionsTable.Controls.Add(lb, 0, i);
                this.SessionsTable.Controls.Add(lb1, 1, i);
                this.SessionsTable.Controls.Add(lb2, 2, i);
                this.SessionsTable.Controls.Add(lb3, 3, i);
                this.SessionsTable.Controls.Add(sb, 4, i);
            }
        }
예제 #5
0
        public string Post([FromBody] Vehicle obj)
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var dispatcher = instance.SelectDispatcherSession(token);
            var driver     = instance.SelectDriverSession(token);
            var manager    = instance.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return("NOT EXISTING USER");
            }
            else if (obj == null)
            {
                return("NO OBJECT");
            }


            VehicleFactory vehicleFactory  = new VehicleFactory();
            var            instanceVehicle = vehicleFactory.GetVehicleInstance();

            instanceVehicle.Insert(obj);
            return("OK");
        }
예제 #6
0
        public string Put(int id, [FromBody] Timetable timetable)
        {
            SessionFactory          sessionFactory  = new SessionFactory();
            SessionsTable <Session> instanceSession = (SessionsTable <Session>)sessionFactory.GetSessionInstance();

            TimetableFactory           timetableFactory  = new TimetableFactory();
            TimetableTable <Timetable> instanceTimetable = (TimetableTable <Timetable>)timetableFactory.GetTimetableInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var dispatcher = instanceSession.SelectDispatcherSession(token);
            var driver     = instanceSession.SelectDriverSession(token);
            var manager    = instanceSession.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return("NOT EXISTING USER");
            }
            else if (timetable == null)
            {
                return("NO OBJECT");
            }

            instanceTimetable.Update(timetable);
            return("OK");
        }
예제 #7
0
        public string Put(int id, [FromBody] Request obj)
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var dispatcher = instance.SelectDispatcherSession(token);
            var driver     = instance.SelectDriverSession(token);
            var manager    = instance.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return("NOT EXISTING USER");
            }
            else if (obj == null)
            {
                return("NO OBJECT");
            }
            RequestFactory         requestFactory  = new RequestFactory();
            RequestTable <Request> instanceRequest = (RequestTable <Request>)requestFactory.GetRequestInstance();

            instanceRequest.Update(obj);
            return("OK");
        }
예제 #8
0
        public string Post([FromBody] Failure obj)
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return("NOT LOGED");
            }
            var driver = instance.SelectDriverSession(token);

            if (driver == null)
            {
                return("NOT EXISTING USER");
            }
            else if (obj == null)
            {
                return("NO OBJECT");
            }

            FailureFactory         failureFactory  = new FailureFactory();
            FailureTable <Failure> instanceFailure = (FailureTable <Failure>)failureFactory.GetFailureInstance();

            instanceFailure.Insert(obj);
            return("OK");
        }
예제 #9
0
 private async Task Working()
 {
     while (true)
     {
         try
         {
             ITelegramBotClient api;
             int updateId;
             lock (configLock)
             {
                 api      = TelegramApi;
                 updateId = this.UpdateId;
             }
             foreach (var update in await api.GetUpdatesAsync(updateId))
             {
                 updateId = update.Id + 1;
                 if (update.Message == null)
                 {
                     continue;
                 }
                 Console.WriteLine($"{updateId - 1} : {update.Message.Chat.Id} {update.Message.Chat.Username} {update.Message.Text}");
                 TgSession session;
                 lock (configLock)
                 {
                     if (!SessionsTable.TryGetValue(update.Message.Chat.Id, out session))
                     {
                         session = CreateSession();
                         SessionsTable[update.Message.Chat.Id] = session;
                     }
                 }
                 if (session == null)
                 {
                     continue;
                 }
                 ;
                 try
                 {
                     session.Process(update.Message);
                 }
                 catch
                 {
                 }
             }
             lock (configLock)
             {
                 if (TelegramApi == api)
                 {
                     UpdateId = updateId;
                 }
             }
         }
         catch
         {
         }
         await Task.Delay(100);
     }
 }
예제 #10
0
        public string Post()
        {
            SessionFactory          sessionFactory  = new SessionFactory();
            SessionsTable <Session> instanceSession = (SessionsTable <Session>)sessionFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            instanceSession.Delete(token);
            return("LOGOUT_SUCCESS");
        }
예제 #11
0
 public void Configure(Config config)
 {
     lock (configLock)
     {
         Config      = config;
         TelegramApi = new TelegramBotClient(config.ApiKey);
         UpdateId    = 0;
         SessionsTable.Clear();
     }
 }
예제 #12
0
        public async void WidgetPerformUpdate(Action <NCUpdateResult> completionHandler)
        {
            // If an error is encoutered, use NCUpdateResultFailed
            // If there's no update required, use NCUpdateResultNoData
            // If there's an update, use NCUpdateResultNewData

            if (IsInitialized())
            {
                try
                {
                    _data = await FavoriteService.GetFavorites();

                    if (_data?.Any() ?? false)
                    {
                        MainTitleLabel.Hidden = true;
                        SessionsTable.Hidden  = false;

                        SessionsTable.RowHeight          = UITableView.AutomaticDimension;
                        SessionsTable.EstimatedRowHeight = 65;
                        SessionsTable.Source             = new FavoriteSessionsTableViewSource(_data, ExtensionContext);
                        SessionsTable.ReloadData();
                    }
                    else
                    {
                        MainTitleLabel.Hidden = false;
                        MainTitleLabel.Text   = "You have no upcoming favorites";
                        SessionsTable.Hidden  = true;
                    }

                    SetPreferredContentSize();

                    completionHandler(NCUpdateResult.NewData);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e);
                    completionHandler(NCUpdateResult.Failed);
                }
            }
            else
            {
                completionHandler(NCUpdateResult.NoData);
            }
        }
예제 #13
0
        public LoginResponse Post([FromBody] User u)
        {
            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();

            ManagerFactory         managerFactory  = new ManagerFactory();
            ManagerTable <Manager> instanceManager = (ManagerTable <Manager>)managerFactory.GetManagerInstance();

            DriverFactory        driverFactory  = new DriverFactory();
            DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance();

            SessionFactory          sessionFactory  = new SessionFactory();
            SessionsTable <Session> instanceSession = (SessionsTable <Session>)sessionFactory.GetSessionInstance();

            var dispatcher = instanceDispatcher.Login(u.email, u.password);
            var driver     = instanceDriver.Login(u.email, u.password);
            var manager    = instanceManager.Login(u.email, u.password);

            if (dispatcher != null)
            {
                var     token = GenerateToken().ToString();
                Session s     = new Session();
                s.token   = token;
                s.type    = "DISPATCHER";
                s.user_id = dispatcher.id;
                instanceSession.CreateSession(s);
                LoginResponse lr = new LoginResponse();
                lr.token = token;
                lr.type  = "DISPATCHER";
                lr.email = dispatcher.email;
                return(lr);
            }

            if (driver != null)
            {
                var     token = GenerateToken().ToString();
                Session s     = new Session();
                s.token   = token;
                s.type    = "DRIVER";
                s.user_id = driver.id;
                instanceSession.CreateSession(s);
                LoginResponse lr = new LoginResponse();
                lr.token = token;
                lr.type  = "DRIVER";
                lr.email = driver.email;
                return(lr);
            }

            if (manager != null)
            {
                var     token = GenerateToken().ToString();
                Session s     = new Session();
                s.token   = token;
                s.type    = "MANAGER";
                s.user_id = manager.id;
                instanceSession.CreateSession(s);
                LoginResponse lr = new LoginResponse();
                lr.token = token;
                lr.type  = "MANAGER";
                lr.email = manager.email;
                return(lr);
            }
            LoginResponse lr1 = new LoginResponse();

            lr1.token = null;
            lr1.type  = "Užívatel neexistuje!";
            lr1.email = null;
            return(lr1);
        }
예제 #14
0
        public Overview Get()
        {
            SessionFactory          sessionsFactory = new SessionFactory();
            SessionsTable <Session> instance        = (SessionsTable <Session>)sessionsFactory.GetSessionInstance();
            var list  = Request.Headers.ToList();
            var token = list.Where(a => a.Key == "token")?.FirstOrDefault().Value.FirstOrDefault()?.Replace("\"", string.Empty);

            if (token == null)
            {
                return(new Overview());
            }
            var dispatcher = instance.SelectDispatcherSession(token);
            var driver     = instance.SelectDriverSession(token);
            var manager    = instance.SelectManagerSession(token);

            if (dispatcher == null && driver == null && manager == null)
            {
                return(new Overview());
            }

            Overview obj = new Overview();

            RequestFactory         requestFactory  = new RequestFactory();
            RequestTable <Request> instanceRequest = (RequestTable <Request>)requestFactory.GetRequestInstance();
            var requests = instanceRequest.Select();

            obj.acceptedRequests = requests.Where(r => r.state == RequestState.ACCEPTED).Count();
            obj.declinedRequests = requests.Where(r => r.state == RequestState.DECLINED).Count();
            obj.newRequests      = requests.Where(r => r.state == RequestState.NEW).Count();


            decimal              salary         = 0;
            DriverFactory        driverFactory  = new DriverFactory();
            DriverTable <Driver> instanceDriver = (DriverTable <Driver>)driverFactory.GetDriverInstance();
            var listDrivers = instanceDriver.Select();

            obj.driverCount = listDrivers.Count();
            salary         += listDrivers.Sum(dr => dr.salary);

            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();
            var listDispatchers = instanceDispatcher.Select();

            obj.dispatcherCount = listDispatchers.Count();
            salary += listDispatchers.Sum(dis => dis.salary);

            obj.monthSalary = salary;


            VehicleFactory vehicleFactory  = new VehicleFactory();
            var            instanceVehicle = vehicleFactory.GetVehicleInstance();

            obj.vehicleCount = instanceVehicle.Select().Count();

            FailureFactory         failureFactory  = new FailureFactory();
            FailureTable <Failure> instanceFailure = (FailureTable <Failure>)failureFactory.GetFailureInstance();
            var      listFailures = instanceFailure.Select();
            DateTime lastMonth    = DateTime.Now.AddMonths(-1);

            obj.failurestInLastMonth = listFailures.Where(d => d.created > lastMonth).Count();
            obj.failures             = listFailures.Count();
            return(obj);
        }