Пример #1
0
        public TimeKeepingDTO stardUp(TimeKeepingEntity entity, string shift)
        {
            TimeKeepingEntity oldEntity;

            oldEntity         = _humanManagerContext.Timekeepings.Where(tk => tk.Id == entity.Id).SingleOrDefault();
            oldEntity.morning = 0;

            //craeat Timekeepingdetail với ngày giờ hiện tại và trạng thái 1 đagn chấm công
            DateTime nowDate = DateTime.Now;
            TimeKeepingDetailEntity tkdEntity = new TimeKeepingDetailEntity();

            if (string.Compare(shift, "morning", true) == 0)
            {
                tkdEntity.shift   = "morning";
                oldEntity.morning = 0;
            }
            if (string.Compare(shift, "afternoon", true) == 0)
            {
                tkdEntity.shift     = "afternoon";
                oldEntity.afternoon = 0;
            }
            tkdEntity.timeStart     = nowDate;
            tkdEntity.status        = 1;
            tkdEntity.timeKeepingId = oldEntity.Id;
            tkdEntity.employeeId    = oldEntity.idEmployee;

            _humanManagerContext.TimeKeepingDetails.Add(tkdEntity);
            _humanManagerContext.SaveChanges();

            return(_mapper.Map <TimeKeepingDTO>(oldEntity));
        }
        public TimeKeepingDetailDTO removeTimeKeeping(long id)
        {
            var transaction = _humanManagerContext.Database.BeginTransaction();
            // lấy dữ liệu cũ
            TimeKeepingDetailEntity oldEntity = _humanManagerContext.TimeKeepingDetails.Where(tkd => tkd.Id == id).SingleOrDefault();

            // remove add save ;
            try
            {
                _humanManagerContext.TimeKeepingDetails.Remove(oldEntity);
                transaction.Commit();
                _humanManagerContext.SaveChanges();
                return(_mapper.Map <TimeKeepingDetailDTO>(oldEntity));
            }
            catch
            {
                transaction.Rollback();
                return(null);
            }
        }
        // chức năng kết thúc ngày công
        public TimeKeepingDetailDTO endTimeKeepingforOneDay(TimeKeepingDetailEntity oldEntity)
        {
            var      transaction = _humanManagerContext.Database.BeginTransaction();
            DateTime nowDate     = DateTime.Now;

            //  DateTime endDate = new DateTime('8/11/2020 10:06:00 PM');
            try
            {
                TimeKeepingDetailEntity old = _humanManagerContext.TimeKeepingDetails.Where(tkd => tkd.Id == oldEntity.Id).SingleOrDefault();

                TimeKeepingEntity oldTimeKeeping = _humanManagerContext.Timekeepings.Where(tk => tk.Id == old.timeKeepingId).SingleOrDefault();
                String            test           = oldTimeKeeping.Id + "";
                DateTime          oldDateTime    = old.timeStart;
                TimeSpan          t = nowDate - oldDateTime;
                int count           = t.Hours;

                //Cộng thời gian làm lên
                oldTimeKeeping.plusWorkingTime(count);

                old.status      = 0;
                old.timeEnd     = nowDate;
                old.timeWorking = count;

                _humanManagerContext.SaveChanges();

                //Cộng thời gian làm lên
                oldTimeKeeping.plusWorkingTime(count);

                old.status      = 0;
                old.timeEnd     = nowDate;
                old.timeWorking = count;

                _humanManagerContext.SaveChanges();
                return(_mapper.Map <TimeKeepingDetailDTO>(old));
            }
            catch
            {
                transaction.Rollback();
                return(null);
            }
        }
Пример #4
0
        public ActionResult <Api <List <TimeKeepingDetailDTO> > > endTimeKeeping(long id, TimeKeepingDetailEntity entity)
        {
            entity.Id = id;

            TimeKeepingDetailDTO       dto    = _timekeepingDetailService.endTimeKeepingforOneDay(entity);
            Api <TimeKeepingDetailDTO> result = new Api <TimeKeepingDetailDTO>(200, dto, "Edit Success");

            return(Ok(result));
        }