示例#1
0
        public int InsertDataShiftHistory(ShiftHistoryModel model)
        {
            try
            {
                var data = new SHIFT_HISTORY();

                data.ShiftName = model.ShiftName ?? "";
                data.StaffID   = model.StaffID;
                data.CashStart = model.CashStart;

                data.Status     = 1;
                data.StartShift = DateTime.Now;

                data.CreateBy   = model.CreateBy;
                data.CreateDate = DateTime.Now;

                _context.Entry(data).State = EntityState.Added;
                _context.SaveChanges();


                return(data.ShiftHistoryID);
            }
            catch (Exception ex)
            {
                LogPOS.WriteLog("SaveDataStaff :::::::::::::::::::::::::" + ex.Message);
                return(0);
            }
        }
示例#2
0
        public async Task <EmployeeUpdateModel> UpdateAsync(EmployeeUpdateModel model, int clientId, int userId)
        {
            if (!await _permissionManager.HasPermission(clientId, userId, Permission.CanAddEmployee))
            {
                throw new Exception("User has not permission to perform this operation");
            }

            if (model == null)
            {
                throw new ArgumentNullException();
            }

            //check the employee shift extis or not
            var updateEmployeeShift = await _shiftHistroyManager.GetByEmployeeIdAsync(model.Id, clientId, userId);

            //This is used for update employee shift
            if (updateEmployeeShift == null || (updateEmployeeShift != null && updateEmployeeShift.ShiftId != model.ShiftId))
            {
                if (updateEmployeeShift != null)
                {
                    updateEmployeeShift.EndDate = DateTime.UtcNow;
                    await _shiftHistroyManager.UpdateAsync(updateEmployeeShift, clientId, userId);
                }
                //then afte update employee new shift timing
                var addNewEmployeeShift = new ShiftHistoryModel();
                addNewEmployeeShift.EmployeeId = model.Id;
                addNewEmployeeShift.ShiftId    = model.ShiftId;
                addNewEmployeeShift.StartDate  = DateTime.UtcNow;

                await _shiftHistroyManager.AddAsync(addNewEmployeeShift, clientId, userId);
            }

            var existingDataModel = await _employeeRepository.GetAsync(model.Id);

            if (existingDataModel == null)
            {
                throw new Exception("Employee does not exist which you trying to update");
            }

            var employee = _employeeUpdateMapper.ConvertToDataModel(model);

            employee.UpdatedOn = DateTime.UtcNow;

            employee = await _employeeRepository.UpdateAsync(employee);

            return(_employeeUpdateMapper.ConvertToModel(employee));
        }
示例#3
0
        void UCShiftItem_Click(object sender, EventArgs e)
        {
            UCShiftItem       ucShift = (UCShiftItem)sender;
            ShiftHistoryModel tag     = (ShiftHistoryModel)(ucShift.Tag);

            btnEnd.Tag = tag;

            foreach (Control ctr in flpShiftDetail.Controls)
            {
                if (ctr.BackColor == Color.FromArgb(0, 153, 51))
                {
                    ctr.BackColor = Color.FromArgb(255, 255, 255);
                    ctr.ForeColor = Color.FromArgb(51, 51, 51);
                }
            }
            ucShift.BackColor = Color.FromArgb(0, 153, 51);
            ucShift.ForeColor = Color.FromArgb(255, 255, 255);
        }
示例#4
0
        //public async Task<ShiftHistoryModel> GetAsync(int empId, int clientId, int userId)
        //{
        //    if (!await _permissionManager.HasUserClientAccessAsync(clientId, userId))
        //        throw new Exception("User has not permission to perform this operation");

        //    return _shiftHistoryMapper.ConvertToModel(await _shiftHistroryRepository.GetAsync(empId));
        //}

        public async Task <ShiftHistoryModel> UpdateAsync(ShiftHistoryModel model, int clientId, int userId)
        {
            if (!await _permissionManager.HasUserClientAccessAsync(clientId, userId))
            {
                throw new Exception("User has not permission to perform this operation");
            }

            if (model == null)
            {
                throw new ArgumentNullException();
            }

            var shifthistory = _shiftHistoryMapper.ConvertToDataModel(model);

            shifthistory = await _shiftHistroryRepository.UpdateAsync(shifthistory);

            return(_shiftHistoryMapper.ConvertToModel(shifthistory));
        }
示例#5
0
        public async Task <EmployeeUpdateModel> ApproveEmployeeAsync(EmployeeUpdateModel model, int clientId, int userId)
        {
            if (!await _permissionManager.HasPermission(clientId, userId, Permission.CanAddEmployee))
            {
                throw new Exception("User has not permission to perform this operation");
            }

            if (model == null)
            {
                throw new ArgumentNullException();
            }

            var existingemployee = await _employeeRepository.GetAsync(model.Id);

            if (existingemployee == null)
            {
                throw new Exception("Employee does not exist which you trying to approve");
            }

            //this is using for the set the shift time
            var employeeApprove = new ShiftHistoryModel();

            employeeApprove.EmployeeId = model.Id;
            employeeApprove.ShiftId    = model.ShiftId;
            employeeApprove.StartDate  = DateTime.UtcNow;

            await _shiftHistroyManager.AddAsync(employeeApprove, clientId, userId);

            //this is using for the approve the employee
            var employee = _employeeUpdateMapper.ConvertToDataModel(model);

            employee.UpdatedOn  = DateTime.UtcNow;
            employee.Status     = (int)EmployeeStatus.Active;
            employee.ApprovedBy = userId;

            employee = await _employeeRepository.ApproveEmployeeAsync(employee);

            return(_employeeUpdateMapper.ConvertToModel(employee));
        }
示例#6
0
        private void btnEnd_Click(object sender, EventArgs e)
        {
            Button            EndShift   = (Button)sender;
            ShiftHistoryModel shiftmodel = (ShiftHistoryModel)(EndShift.Tag);

            if (shiftmodel != null)
            {
                frmEndShift frm = new frmEndShift(shiftmodel);
                frm.ShowDialog();

                if (frm.DialogResult == System.Windows.Forms.DialogResult.OK)
                {
                    addOnDutyList("On Duty", 1);
                    frm.Close();
                }
            }
            else
            {
                frmMessager frm = new frmMessager("Messenger", "Please select row befor end shift.");
                frmOpacity.ShowDialog(this, frm);
            }
        }
示例#7
0
        public int UpdateDataShiftHistory(ShiftHistoryModel model)
        {
            try
            {
                if (model.ShiftHistoryID > 0)
                {
                    var data = _context.SHIFT_HISTORY.Find(model.ShiftHistoryID);
                    if (data != null)
                    {
                        data.EndShift = DateTime.Now;

                        data.CashEnd = model.CashEnd;

                        data.SafeDrop = model.SafeDrop;

                        data.UpdateBy   = model.UpdateBy;
                        data.UpdateDate = DateTime.Now;

                        data.Status = 2;

                        _context.Entry(data).State = EntityState.Modified;
                        _context.SaveChanges();


                        return(data.ShiftHistoryID);
                    }
                    return(0);
                }
                return(0);
            }
            catch (Exception ex)
            {
                LogPOS.WriteLog("SaveDataStaff :::::::::::::::::::::::::" + ex.Message);
                return(0);
            }
        }
示例#8
0
        public frmEndShift(ShiftHistoryModel data)
        {
            InitializeComponent();

            modelShift = data;
        }
示例#9
0
        private void btnCreate_Click(object sender, EventArgs e)
        {
            var model = new ShiftHistoryModel();

            model.ShiftName = this.txtShiftName.Text ?? "";
            model.StaffID   = 0;

            var cbStaff = (KeyValueModel)this.cbStaff.SelectedItem;

            if (cbStaff != null)
            {
                model.StaffID = cbStaff.Key;
            }

            model.CashStart = 0;

            if (this.txtCashStart.Text != "")
            {
                model.CashStart = double.Parse(this.txtCashStart.Text);
            }

            MoneyFortmat Fomat = new MoneyFortmat(1);

            model.CashStart = Fomat.getFortMat(model.CashStart ?? 0);

            model.CreateBy = userid;

            var messenger = "";

            if (model.ShiftName == "")
            {
                messenger = messenger + "Shift Name isn't empty. ";
            }

            if (model.StaffID == 0)
            {
                messenger = messenger + "Staff Name isn't empty. ";
            }

            if (model.CashStart == 0)
            {
                messenger = messenger + "Cash Start isn't empty. ";
            }

            if (messenger == "")
            {
                var result = ShiftService.InsertDataShiftHistory(model);
                messenger = "Save data new shift fail.";
                if (result > 0)
                {
                    UserLoginModel.ShiffID = result;
                    messenger         = "Save data new shift successful.";
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                }

                frmMessager frm = new frmMessager("Messenger", messenger);
                frmOpacity.ShowDialog(this, frm);
            }
            else
            {
                frmMessager frm = new frmMessager("Messenger", messenger + "Please input data.");
                frmOpacity.ShowDialog(this, frm);
            }
        }