示例#1
0
        /// <summary>
        /// New event one employee
        /// </summary>
        /// <param name="timeSheetEvent"></param>
        /// <param name="timeSymbol"></param>
        private void CreateNewTimeSheetEvent(hr_TimeSheetEvent timeSheetEvent, cat_TimeSheetSymbol timeSymbol)
        {
            try
            {
                //create new event
                timeSheetEvent.StatusId    = EventStatus.Active;
                timeSheetEvent.WorkConvert = timeSymbol.WorkConvert;
                timeSheetEvent.Symbol      = timeSymbol.Code;
                timeSheetEvent.Description = timeSymbol.Name;
                timeSheetEvent.TypeGroup   = timeSymbol.Group;
                hr_TimeSheetEventServices.Create(timeSheetEvent);


                var timeSheet = hr_TimeSheetServices.GetById(timeSheetEvent.TimeSheetId);

                if (timeSymbol.Group == ConstLeave)
                {
                    //create history
                    var useDate = new DateTime(Convert.ToInt32(hdfYear.Text), Convert.ToInt32(hdfMonth.Text),
                                               Convert.ToInt32(hdfDay.Text));
                    var annual = new hr_AnnualLeaveHistory()
                    {
                        RecordId         = Convert.ToInt32(hdfRecordId.Text),
                        TimeSheetEventId = timeSheetEvent.Id,
                        UsedLeaveDate    = useDate,
                        UsedLeaveDay     = timeSymbol.WorkConvert,
                        CreatedDate      = DateTime.Now,
                        CreatedBy        = CurrentUser.User.UserName,
                    };

                    hr_AnnualLeaveHistoryServices.Create(annual);
                    //Update
                    UpdateAnnualLeaveConfig(timeSheet, annual);
                }

                //Adjust timesheet
                if (!string.IsNullOrEmpty(hdfTimeSheetCode.Text) && !string.IsNullOrEmpty(hdfDay.Text))
                {
                    var timeAdjust = new hr_TimeSheetAdjustment()
                    {
                        RecordId          = Convert.ToInt32(hdfRecordId.Text),
                        TimeSheetCode     = hdfTimeSheetCode.Text,
                        TimeSheetEventIds = timeSheetEvent.Id.ToString(),
                        TimeSheetReportId = timeSheet.TimeSheetReportId,
                        Day                         = Convert.ToInt32(hdfDay.Text),
                        Month                       = hdfMonth.Text != null?Convert.ToInt32(hdfMonth.Text) : 0,
                                               Year = hdfYear.Text != null?Convert.ToInt32(hdfYear.Text) : DateTime.Now.Year,
                                                          Reason      = timeSymbol.Name,
                                                          CreatedDate = DateTime.Now,
                                                          CreatedBy   = CurrentUser.User.UserName,
                    };

                    hr_TimeSheetAdjustmentServices.Create(timeAdjust);
                }
            }
            catch (Exception e)
            {
                Dialog.ShowNotification("Có lỗi xảy ra" + e.Message);
            }
        }
示例#2
0
        private void CreateAnnualLeave(cat_TimeSheetSymbol timeSymbol, int recordId, int timeSheetEventId)
        {
            try
            {
                var useDate = new DateTime(startDate.SelectedDate.Year, startDate.SelectedDate.Month, startDate.SelectedDate.Day);
                var annual  = new hr_AnnualLeaveHistory()
                {
                    RecordId         = recordId,
                    TimeSheetEventId = timeSheetEventId,
                    UsedLeaveDate    = useDate,
                    UsedLeaveDay     = timeSymbol.WorkConvert,
                    CreatedDate      = DateTime.Now,
                    CreatedBy        = CurrentUser.User.UserName,
                };

                hr_AnnualLeaveHistoryServices.Create(annual);
                //update
                UpdateAnnualLeaveConfig(recordId, annual);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public static AnnualLeaveHistoryModel Create(AnnualLeaveHistoryModel model)
        {
            var entity = new hr_AnnualLeaveHistory();

            model.FillEntity(ref entity);
            return(new AnnualLeaveHistoryModel(hr_AnnualLeaveHistoryServices.Create(entity)));
        }
示例#4
0
        /// <summary>
        /// New event one employee
        /// </summary>
        /// <param name="timeSheetEvent"></param>
        /// <param name="timeSymbol"></param>
        private void CreateNewTimeSheetEvent(hr_TimeSheetEvent timeSheetEvent, cat_TimeSheetSymbol timeSymbol)
        {
            try
            {
                timeSheetEvent.WorkConvert = timeSymbol.WorkConvert;
                timeSheetEvent.Symbol      = timeSymbol.Code;
                timeSheetEvent.Description = timeSymbol.Name;
                timeSheetEvent.TypeGroup   = timeSymbol.Group;
                hr_TimeSheetEventServices.Create(timeSheetEvent);

                if (timeSymbol.Group == ConstLeave)
                {
                    //create history
                    var useDate = new DateTime(Convert.ToInt32(hdfYear.Text), Convert.ToInt32(hdfMonth.Text),
                                               Convert.ToInt32(hdfDay.Text));
                    var annual = new hr_AnnualLeaveHistory()
                    {
                        RecordId      = Convert.ToInt32(hdfRecordId.Text),
                        UsedLeaveDate = useDate,
                        UsedLeaveDay  = timeSymbol.WorkConvert,
                        CreatedDate   = DateTime.Now,
                        CreatedBy     = CurrentUser.User.UserName,
                    };

                    hr_AnnualLeaveHistoryServices.Create(annual);

                    //update nguoc lai bang phep
                    var leaveConfig =
                        hr_AnnualLeaveConfigureServices.GetAnnualLeaveConfigByRecordId(
                            Convert.ToInt32(hdfRecordId.Text), Convert.ToInt32(hdfYear.Text));
                    if (leaveConfig != null)
                    {
                        leaveConfig.UsedLeaveDay = annual.UsedLeaveDay + leaveConfig.UsedLeaveDay;
                        if (leaveConfig.AnnualLeaveDay > 0)
                        {
                            leaveConfig.RemainLeaveDay = leaveConfig.AnnualLeaveDay - leaveConfig.UsedLeaveDay;
                        }

                        leaveConfig.EditedDate = DateTime.Now;
                        leaveConfig.EditedBy   = CurrentUser.User.UserName;
                    }

                    hr_AnnualLeaveConfigureServices.Update(leaveConfig);
                }
            }
            catch (Exception e)
            {
                Dialog.ShowNotification("Có lỗi xảy ra" + e.Message);
            }
        }
示例#5
0
        /// <summary>
        /// Cập nhật ngày phép
        /// </summary>
        /// <param name="recordId"></param>
        /// <param name="annual"></param>
        private void UpdateAnnualLeaveConfig(int recordId, hr_AnnualLeaveHistory annual)
        {
            //update nguoc lai bang phep
            var leaveConfig =
                hr_AnnualLeaveConfigureServices.GetAnnualLeaveConfigByRecordId(recordId, annual.UsedLeaveDate.Year);

            if (leaveConfig != null)
            {
                leaveConfig.UsedLeaveDay = annual.UsedLeaveDay + leaveConfig.UsedLeaveDay;
                if (leaveConfig.AnnualLeaveDay > 0)
                {
                    leaveConfig.RemainLeaveDay = leaveConfig.AnnualLeaveDay - leaveConfig.UsedLeaveDay;
                }

                leaveConfig.EditedDate = DateTime.Now;
                leaveConfig.EditedBy   = CurrentUser.User.UserName;
            }

            hr_AnnualLeaveConfigureServices.Update(leaveConfig);
        }