コード例 #1
0
 public DtoMessage CreateTimeSheet(int idDepartment, DateTime dateBeginPeriod, DateTime dateEndPeriod,
                                   DtoApprover approver, IEnumerable <DtoFactStaffEmployee> employees = null)
 {
     using (var db = new KadrDataContext())
     {
         try
         {
             //todo:тут надо корректно вытаскивать согласователя
             var timeSheet = new TimeSheetManaget(idDepartment, dateBeginPeriod, dateEndPeriod,
                                                  approver.EmployeeLogin, db);
             timeSheet.GenerateTimeSheet(employees.ToArray());
             return(new DtoMessage
             {
                 Result = true
             });
         }
         catch (System.Exception ex)
         {
             return(new DtoMessage
             {
                 Message = ex.Message,
                 Result = false
             });
         }
     }
 }
コード例 #2
0
        public void TestSixDayesTimeSheetGenerate()
        {
            var timeSheetCreater = new TimeSheetManaget(IdDepartmentSixDays, CurrentBegin, CurrentEnd,
                                                        "*****@*****.**", _db);

            timeSheetCreater.GenerateTimeSheet();
            Assert.IsTrue(timeSheetCreater.DateBegin != null);
            timeSheetCreater.RemoveTimeSheet();
        }
コード例 #3
0
        public void TimeSheetCreate()
        {
            var timeSheetCreater = new TimeSheetManaget(IdDepartment, _dateStart, GetDateEnd(), "*****@*****.**", _db);

            timeSheetCreater.GenerateTimeSheet();
            Assert.IsTrue(timeSheetCreater.DateBegin != null);
            timeSheetCreater.RemoveTimeSheet();
            Assert.IsNull(timeSheetCreater.DateBegin);
        }
コード例 #4
0
 public DtoFactStaffEmployee[] GetEmployeesForTimeSheet(int idDepartment, DtoApprover approver, DateTime dateStart, DateTime dateEnd)
 {
     using (var db = new KadrDataContext())
     {
         //var depsId = GetDepartmentsIdList(idDepartment);
         var loadOptions = new DataLoadOptions();
         loadOptions.LoadWith((FactStaffWithHistory fswh) => fswh.PlanStaff);
         loadOptions.LoadWith((PlanStaff ps) => ps.Post);
         loadOptions.LoadWith((Post p) => p.Category);
         loadOptions.LoadWith((PlanStaff ps) => ps.WorkShedule);
         loadOptions.LoadWith((FactStaffWithHistory fswh) => fswh.Employee);
         loadOptions.LoadWith((OK_Otpusk oko) => oko.OK_Otpuskvid);
         db.LoadOptions = loadOptions;
         var ts = new TimeSheetManaget(idDepartment, dateStart, dateEnd, approver.EmployeeLogin, db);
         return
             (ts.GetAllEmployees()
              .Select(s => DtoClassConstructor.DtoFactStaffEmployee(db, s.idFactStaffHistory))
              .ToArray());
     }
 }
コード例 #5
0
 public DtoMessage RemoveTimeSheet(int idTimeSheet)
 {
     using (var db = new KadrDataContext())
     {
         try
         {
             var timeSheet = new TimeSheetManaget(idTimeSheet, db);
             return(new DtoMessage
             {
                 Result = timeSheet.RemoveTimeSheet()
             });
         }
         catch (System.Exception ex)
         {
             return(new DtoMessage
             {
                 Result = false,
                 Message = ex.Message
             });
         }
     }
 }
コード例 #6
0
        /// <summary>
        /// Изменение табеля на авансовый, срезается пол табеля с 15 числа и до конца
        /// </summary>
        /// <param name="idTimeSheet"></param>
        /// <returns></returns>
        public DtoMessage remakeTimeSheetAdvance(int idTimeSheet)
        {
            using (var db = new KadrDataContext())
            {
                try
                {
                    var ts = new TimeSheetManaget(idTimeSheet, db);

                    return(new DtoMessage
                    {
                        Result = ts.remakeTSAdvance()
                    });
                }
                catch (System.Exception e)
                {
                    return(new DtoMessage
                    {
                        Message = e.Message,
                        Result = false
                    });
                }
            }
        }