public async Task <ReturnData <bool> > CreateAsync(AddSalaryDto model)
        {
            var result  = new ReturnData <bool>();
            var salarys = await _context.Salarys.FirstOrDefaultAsync(i => i.StaffInfoId == model.StaffInfoId && i.CreateTime.ToString("yy/MM") == DateTime.Now.ToString("yy/MM"));

            if (salarys != null)
            {
                result.Message = "当月此员工已经录入工资,录入失败";
                result.Result  = false;
                return(result);
            }
            _context.Salarys.Add(new Model.Model.Salary
            {
                CreateTime            = DateTime.Now,
                StaffInfoId           = model.StaffInfoId,
                BasicSalary           = model.BasicSalary,
                Deduction             = model.Deduction,
                LastUpTime            = DateTime.Now,
                MealSubsidy           = model.MealSubsidy,
                OtherSubsidies        = model.OtherSubsidies,
                Reward                = model.Reward,
                TransportationSubsidy = model.TransportationSubsidy,
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
        public async Task <ReturnData <bool> > CreateAsync(AddStaffinfoDto model)
        {
            var result     = new ReturnData <bool>();
            var staffInfos = await _context.StaffInfos.FirstOrDefaultAsync(i => i.Email == model.Email && i.Name == model.Name);

            if (staffInfos != null)
            {
                result.Message = "存在相同员工,添加失败";
                result.Result  = false;
                return(result);
            }
            _context.StaffInfos.Add(new Model.Model.StaffInfo
            {
                Email           = model.Email,
                Name            = model.Name,
                CreateTime      = DateTime.Now,
                EntryTime       = model.EntryTime,
                LastUpTime      = DateTime.Now,
                Phone           = model.Phone,
                PositionId      = model.PositionId,
                ResignationTime = model.ResignationTime,
                WorkingStatus   = model.WorkingStatus,
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
        public async Task <ReturnData <bool> > CreateAsync(AddAttendanceDto model)
        {
            var result         = new ReturnData <bool>();
            var attendanceTime = await _context.AttendanceTimeSets.FirstOrDefaultAsync();

            if (attendanceTime != null)
            {
                var attendanceAccess = await _context.Attendances.FirstOrDefaultAsync(i => i.WorkingTime.ToString("yyyy/MM/dd") == model.CreateTime.ToString("yyyy/MM/dd"));

                if (attendanceAccess != null)
                {
                    //如果当前有打卡记录 则更新下班时间
                    attendanceAccess.OffworkTime = model.CreateTime;
                    if (Convert.ToDateTime(model.CreateTime.ToString("HH:mm:ss")) > Convert.ToDateTime(attendanceTime.OffworkTime.AddSeconds(-1).ToString("HH:mm:ss")))
                    {
                        //判断打卡时间是否超过规定下班时间 超过则是正常下班 否者早退
                        attendanceAccess.IsLeaveEarly = false;
                    }
                    else
                    {
                        attendanceAccess.IsLeaveEarly = true;
                    }
                }
                else
                {
                    //否则新增上班时间
                    if (Convert.ToDateTime(model.CreateTime.ToString("HH:mm:ss")) > Convert.ToDateTime(attendanceTime.WorkingTime.AddSeconds(59).ToString("HH:mm:ss")))
                    {
                        //判断打卡时间是否超过规定上班班时间 超过则是迟到 否者正常
                        _context.Attendances.Add(new Model.Model.Attendance()
                        {
                            IsLeaveEarly = false,
                            IsLate       = true,
                            OffworkTime  = null,
                            StaffInfoId  = model.StaffInfoId,
                            WorkingTime  = model.CreateTime,
                        });
                    }
                    else
                    {
                        _context.Attendances.Add(new Model.Model.Attendance()
                        {
                            IsLeaveEarly = false,
                            IsLate       = false,
                            OffworkTime  = null,
                            StaffInfoId  = model.StaffInfoId,
                            WorkingTime  = model.CreateTime,
                        });
                    }
                }
            }
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
Exemple #4
0
        public async Task <ReturnData <bool> > CreateAsync(AddCompanyScheduleDto model)
        {
            var result = new ReturnData <bool>();

            _context.CompanySchedules.Add(new CompanySchedule()
            {
                EventDetails = model.EventDetails,
                EventName    = model.EventName,
                ScheduleTime = model.ScheduleTime
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
Exemple #5
0
        public async Task <ReturnData <bool> > CreateAsync(AddDepartmentDto model)
        {
            var result    = new ReturnData <bool>();
            var deparment = await _context.Departments.FirstOrDefaultAsync(i => i.Name == model.Name);

            if (deparment != null)
            {
                result.Message = "已存在相同名称部门,添加失败";
                result.Result  = false;
                result.Success = true;
                return(result);
            }
            _context.Departments.Add(new Department()
            {
                Name = model.Name
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
Exemple #6
0
        public async Task <ReturnData <bool> > CreateAsync(AddPositionDto model)
        {
            var result   = new ReturnData <bool>();
            var position = await _context.Positions.FirstOrDefaultAsync(i => i.DepartmentId == model.DepartmentId && i.Name == model.Name);

            if (position != null)
            {
                result.Message = "同一部门存在相同职位,添加失败";
                result.Result  = false;
                return(result);
            }
            _context.Positions.Add(new Model.Model.Position
            {
                DepartmentId = model.DepartmentId,
                Name         = model.Name
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
Exemple #7
0
        public async Task <ReturnData <bool> > CreateAsync(AddStockDto model)
        {
            var result = new ReturnData <bool>();
            var stock  = await _context.Stocks.FirstOrDefaultAsync(i => i.PrductId == model.ProductId);

            if (stock != null)
            {
                result.Message = "已存在库存请进行出入库操作";
                result.Result  = false;
                return(result);
            }
            stock = new Model.Model.Stock()
            {
                PrductId = model.ProductId,
                Number   = model.Number
            };
            _context.Stocks.Add(stock);
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }
Exemple #8
0
        /// <summary>
        /// 登陆
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <ReturnData <ReturnLoginDto> > LoginAsync(LoginDto model)
        {
            var result = new ReturnData <ReturnLoginDto>();
            var token  = MD5Encrypt32(model.AccountOrEmail + model.Password + DateTime.Now.ToString());
            var admin  = await _context.Admins.FirstOrDefaultAsync(i => (i.Email == model.AccountOrEmail ||
                                                                         i.Account == model.AccountOrEmail) &&
                                                                   i.PassWord == MD5Encrypt32(model.Password));

            if (admin != null)
            {
                //如果登陆成功则更新token 然后把用户名和token 一起返回每次操作验证token有效性
                var loginInfo = await _context.LoginInfos.FirstOrDefaultAsync(i => i.Admin.Id == admin.Id);

                if (loginInfo != null)
                {
                    loginInfo.OutTime    = DateTime.Now.AddMinutes(30);
                    loginInfo.LastUpTime = DateTime.Now;
                    loginInfo.Token      = token;
                }
                else
                {
                    _context.LoginInfos.Add(new LoginInfo
                    {
                        AdminId    = admin.Id,
                        CreateTime = DateTime.Now,
                        OutTime    = DateTime.Now.AddMinutes(60),
                        Token      = token
                    });
                }
                await _context.SaveChangesAsync();

                result.Result = new ReturnLoginDto {
                    UserId = admin.Id, Token = token, UserName = admin.Name, IsSuperAdmin = admin.IsSuperAdmin
                };
                return(result);
            }
            result.Result = null;
            return(result);
        }
Exemple #9
0
        public async Task <ReturnData <bool> > CreateAsync(AddProductDto model)
        {
            var result   = new ReturnData <bool>();
            var products = await _context.Products.FirstOrDefaultAsync(i => i.Number == model.Number);

            if (products != null)
            {
                result.Message = "存在相同商品,添加失败";
                result.Result  = false;
                return(result);
            }
            _context.Products.Add(new Model.Model.Product
            {
                Number     = model.Number,
                Price      = model.Price,
                Name       = model.Name,
                CreateTime = DateTime.Now,
                LastUpTime = DateTime.Now
            });
            result.Result = await _context.SaveChangesAsync() > 0;

            return(result);
        }