Example #1
0
        public void UpdateAttendance(Objects.Attendance attendance)
        {
            IUnitOfWork unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Attendance> repository = new Repositor <Attendance>(unitOfWork);

            try
            {
                ObjectValidator.IsValid(attendance);
                unitOfWork.BeginTransaction();
                var a = repository.Single(c => c.AttendanceDateID == attendance.DateID && c.AttendanceWorkerID == attendance.WorkerID);
                if (a.Date.DateIsClosed)
                {
                    throw new DateException("Směna je uzamčená, nelze odebírat ani editovat záznamy");
                }
                a.AttendanceWorkerStateID = attendance.WorkerStateID;
                a.AttendanceWorkerTourID  = attendance.WorkerTourID;
                a.AttendanceDescription   = String.IsNullOrWhiteSpace(attendance.Description) ? null : attendance.Description;
                repository.Update(a);
                unitOfWork.CommitTransaction();
            }
            catch (Exception e)
            {
                unitOfWork.RollbackTransaction();
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }
Example #2
0
        public void AddAttendance(Objects.Attendance attendance)
        {
            IUnitOfWork unitOfWork = SessionFactory.GetUnitOfWork;
            IRepository <Attendance> repository = new Repositor <Attendance>(unitOfWork);

            try
            {
                ObjectValidator.IsValid(attendance);
                Attendance a = new Attendance();
                a.AttendanceDateID        = attendance.DateID;
                a.AttendanceWorkerID      = attendance.WorkerID;
                a.AttendanceWorkerStateID = attendance.WorkerStateID;
                a.AttendanceDescription   = String.IsNullOrWhiteSpace(attendance.Description) ? null : attendance.Description;
                a.AttendanceWorkerTourID  = attendance.WorkerTourID;
                unitOfWork.BeginTransaction();
                repository.Add(a);
                unitOfWork.CommitTransaction();
            }
            catch (Exception e)
            {
                unitOfWork.RollbackTransaction();
                throw new FaultException <WcfException>(ExceptionProvider.CreateFaultContract(e));
            }
        }