コード例 #1
0
        public List <Objects.Attendance> FindAttendances(Int64 dateID)
        {
            IUnitOfWork unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Attendance> repository = new Repositor <Attendance>(unitOfWork);

            try
            {
                return(repository.Find(k => k.AttendanceDateID == dateID).Select(c => new Objects.Attendance()
                {
                    DateID = c.AttendanceDateID,
                    WorkerID = c.AttendanceWorkerID,
                    FirstName = c.Worker.WorkerFirstName,
                    LastName = c.Worker.WorkerLastName,
                    SapNumber = c.Worker.WorkerSapNumber,
                    WorkerStateID = c.AttendanceWorkerStateID,
                    WorkerState = c.WorkerState.WorkerStateName,
                    WorkerTourID = c.AttendanceWorkerTourID,
                    WorkerTour = c.Tour.TourStartTime.ToString("hh\\:mm") + " - " + c.Tour.TourEndTime.ToString("hh\\:mm"),
                    Description = c.AttendanceDescription
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #2
0
        public List <Objects.Changeover> FindChangeovers(Int32 detachmentID)
        {
            IUnitOfWork unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Changeover> repository = new Repositor <Changeover>(unitOfWork);

            try
            {
                return(repository.Find(c => c.ChangeoverDetachmentID == detachmentID).Select(c => new Objects.Changeover()
                {
                    ID = c.ChangeoverID,
                    DateID = c.ChangeoverDateID,
                    DateContent = c.Date.DateDate,
                    IsNight = c.Date.DateIsNight,
                    VehicleID = c.ChangeoverVehicleID,
                    VehicleNumber = c.Vehicle.VehicleNumber,
                    WorkTypeID = c.ChangeoverWorkTypeID,
                    WorkTypeName = c.WorkType.WorkTypeName,
                    Description = c.ChangeoverDescription,
                    DetachmentID = c.ChangeoverDetachmentID
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #3
0
        public Int64 AddDate(Objects.Date date)
        {
            IUnitOfWork        unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Date> repository = new Repositor <Date>(unitOfWork);

            try
            {
                ObjectValidator.IsValid(date);
                Date d = new Date();
                d.DateDate         = date.DateContent;
                d.DateIsNight      = date.IsNight;
                d.DateIsClosed     = false;
                d.DateDetachmentID = date.DetachmentID;
                d.DateDescription  = String.IsNullOrWhiteSpace(date.Description) ? null : date.Description;
                unitOfWork.BeginTransaction();
                var de = repository.Find(c => c.DateDate.Date >= date.DateContent.Date && c.DateDetachmentID == date.DetachmentID).ToList();
                if (de != null)
                {
                    if (de.Any(c => c.DateDate.Date > date.DateContent.Date) || de.Any(c => c.DateDate.Date == date.DateContent.Date && c.DateIsNight == true))
                    {
                        throw new FormatException("Není možné vytvářet směnu zpětně!");
                    }
                }
                repository.Add(d);
                unitOfWork.CommitTransaction();
                return(d.DateID);
            }
            catch (Exception e)
            {
                unitOfWork.RollbackTransaction();
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #4
0
        public List <string> GetTopCauseWorks(Int32 count, Int32 detachmentID)
        {
            IUnitOfWork        unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Work> repository = new Repositor <Work>(unitOfWork);

            try
            {
                return(repository.Find(c => c.Date.DateDetachmentID == detachmentID).
                       GroupBy(c => c.WorkCauseDescription).OrderByDescending(
                           c => c.Count()).Select(c => c.Key).Take(count).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #5
0
        public List <Objects.Vehicle> FindVehicles(Int32 detachmentID)
        {
            IUnitOfWork           unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Vehicle> repository = new Repositor <Vehicle>(unitOfWork);

            try
            {
                return(repository.Find(c => c.VehicleDetachmentID == detachmentID).Select(c => new Objects.Vehicle()
                {
                    ID = c.VehicleID,
                    Number = c.VehicleNumber,
                    DetachmentID = c.VehicleDetachmentID,
                    Description = c.VehicleDescription
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #6
0
        public List <Objects.Tour> FindTours(Int32 detachmentID)
        {
            IUnitOfWork        unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Tour> repository = new Repositor <Tour>(unitOfWork);

            try
            {
                return(repository.Find(c => c.TourDetachmentID == detachmentID).Select(c => new Objects.Tour()
                {
                    ID = c.TourID,
                    EndTime = c.TourEndTime,
                    StartTime = c.TourStartTime,
                    DetachmentID = c.TourDetachmentID,
                    Description = c.TourDescription
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #7
0
        public List <Objects.Worker> FindWorkers(Int32 detachmentID)
        {
            IUnitOfWork          unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Worker> repository = new Repositor <Worker>(unitOfWork);

            try
            {
                return(repository.Find(c => c.WorkerDetachmentID == detachmentID).Select(c => new Objects.Worker()
                {
                    ID = c.WorkerID,
                    FirstName = c.WorkerFirstName,
                    LastName = c.WorkerLastName,
                    SapNumber = c.WorkerSapNumber,
                    ServicePhone = c.WorkerServicePhone,
                    DetachmentID = c.WorkerDetachmentID,
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #8
0
        public List <Objects.Date> FindDates(int year, int month, Int32 detachmentID)
        {
            IUnitOfWork        unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Date> repository = new Repositor <Date>(unitOfWork);

            try
            {
                return(repository.Find(c => c.DateDate.Year == year && c.DateDate.Month == month && c.DateDetachmentID == detachmentID).Select(c => new Objects.Date()
                {
                    ID = c.DateID,
                    DateContent = c.DateDate,
                    IsClosed = c.DateIsClosed,
                    IsNight = c.DateIsNight,
                    DetachmentID = c.DateDetachmentID,
                    Description = c.DateDescription
                }).OrderBy(c => c.DateContent).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
コード例 #9
0
        public List <Objects.Work> FindWorks(Int64 dateID)
        {
            IUnitOfWork        unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Work> repository = new Repositor <Work>(unitOfWork);

            try
            {
                return(repository.Find(c => c.WorkDateID == dateID).Select(c => new Objects.Work()
                {
                    ID = c.WorkID,
                    DateID = c.WorkDateID,
                    VehicleID = c.WorkVehicleID,
                    VehicleNumber = c.Vehicle.VehicleNumber,
                    WorkTypeID = c.WorkWorkTypeID,
                    WorkTypeName = c.WorkType.WorkTypeName,
                    FaultDescription = c.WorkFaultDescription,
                    CauseDescription = c.WorkCauseDescription
                }).ToList());
            }
            catch (Exception e)
            {
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }