Пример #1
0
        public Collection <T> Select()
        {
            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();

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

            XDocument      xDoc     = XDocument.Load(Configuration.XMLFILEPATH);
            Collection <T> messages = new Collection <T>();

            List <XElement> elements = xDoc.Descendants("Messages").Descendants("Message").ToList();

            foreach (var element in elements)
            {
                Message message = new Message();
                message.id         = int.Parse(element.Attribute("id").Value);
                message.created    = DateTime.Parse(element.Attribute("created").Value);
                message.text       = element.Attribute("text").Value;
                message.isRead     = bool.Parse(element.Attribute("isRead").Value);
                message.dispatcher = instanceDispatcher.Select(int.Parse(element.Attribute("dispatcherId").Value));
                message.manager    = instanceManager.Select(int.Parse(element.Attribute("managerId").Value));


                messages.Add((T)message);
            }

            return(messages);
        }
Пример #2
0
        public Collection <T> Select()
        {
            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();

            XDocument      xDoc     = XDocument.Load(Configuration.XMLFILEPATH);
            Collection <T> requests = new Collection <T>();

            List <XElement> elements = xDoc.Descendants("Requests").Descendants("Request").ToList();

            foreach (var element in elements)
            {
                Request request = new Request();
                request.id            = int.Parse(element.Attribute("id").Value);
                request.state         = (RequestState)int.Parse(element.Attribute("state").Value);
                request.type          = (RequestType)int.Parse(element.Attribute("type").Value);
                request.priority      = int.Parse(element.Attribute("priority").Value);
                request.created       = DateTime.Parse(element.Attribute("created").Value);
                request.message       = element.Attribute("message").Value;
                request.resultMessage = element.Attribute("resultMessage").Value;
                request.dispatcher    = instanceDispatcher.Select(int.Parse(element.Attribute("dispatcherId").Value));

                requests.Add((T)request);
            }

            return(requests);
        }
Пример #3
0
        public Dispatcher Get(int id)
        {
            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();

            return(instanceDispatcher.Select(id));
        }
Пример #4
0
        public IEnumerable <Dispatcher> Get()
        {
            DispatcherFactory            dispatcherFactory  = new DispatcherFactory();
            DispatcherTable <Dispatcher> instanceDispatcher = (DispatcherTable <Dispatcher>)dispatcherFactory.GetDispatcherInstance();

            return(instanceDispatcher.Select());
        }
Пример #5
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);
        }
Пример #6
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);
        }