private async Task <Employee> CreateSyncEmployeeAsync(EmployeeListDto input)
        {
            var entity = ObjectMapper.Map <Employee>(input);

            entity = await _employeeRepository.InsertAsync(entity);

            return(entity.MapTo <Employee>());
        }
Ejemplo n.º 2
0
        public string GetTaskLabel(EmployeeListDto task)
        {
            switch (task.Handle)
            {
            case TaskState.Add:
                return("label-success");

            default:
                return("label-default");
            }
        }
        private EmployeeListDto MapToDto(Employee entity)
        {
            EmployeeListDto dto = new EmployeeListDto()
            {
                Id         = entity.Id,
                Name       = entity.Name,
                Department = entity.Department.Name,
                JobTitle   = entity.JobTitle.Name,
                Manager    = entity.Manager?.Name,
                Address    = entity.Address
            };

            return(dto);
        }
Ejemplo n.º 4
0
        public async Task <EmployeeListDto> GetList(string search)
        {
            EmployeeListDto res = new EmployeeListDto();

            List <EmployeeDto> employees = await(from a in _dbContext.Employees
                                                 where (search != "null" ? (a.FirstName.Contains(search) || a.EmployeeNumber.Contains(search) || a.OfficialEmail.Contains(search)) : true)
                                                 select new EmployeeDto()
            {
                FirstName             = a.FirstName,
                MiddleName            = a.MiddleName,
                LastName              = a.LastName,
                Title                 = a.Title,
                EmployeeNumber        = a.EmployeeNumber,
                Gender                = a.Gender,
                PanNumber             = a.PanNumber,
                DateOfBirth           = a.DateOfBirth,
                MaritalStatus         = a.MaritalStatus,
                OfficialEmail         = a.OfficialEmail,
                Contact1              = a.Contact1,
                Contact2              = a.Contact2,
                Band                  = a.Band,
                LocationName          = a.LocationName,
                SupervisorEmpCode     = a.SupervisorEmpCode,
                HireDate              = a.HireDate,
                RecordStatus          = a.RecordStatus,
                CountryId             = a.CountryId,
                City                  = a.City,
                Region                = a.Region,
                ActualTerminationDate = a.ActualTerminationDate,
                EmployeeStatus        = a.EmployeeStatus,
                CreatedDate           = a.CreatedDate,
                Id  = a.Id,
                Uid = a.Uid
            }).ToListAsync();

            res.Total_count = employees.Count();
            res.Items       = employees;

            return(res);
        }
Ejemplo n.º 5
0
        public async Task <EmployeeListDto> EditEmployee(int Id)
        {
            var query = new EmployeeListDto();

            try
            {
                query = await(from b in _nursaryContext.EmployeeDetails.Where(x => x.IsDeleted == false && x.Id == Id).
                              Include(x => x.Nursery).
                              Include(x => x.State).Include(x => x.District).Include(x => x.Tehsil)

                              select new EmployeeListDto()
                {
                    Id            = b.Id,
                    Nursery       = b.Nursery.NurseryName,
                    FirstName     = b.FirstName,
                    MiddleName    = b.MiddleName,
                    LastName      = b.LastName,
                    StateId       = b.StateId,
                    State         = b.State.StateName,
                    DistrictId    = b.DistrictId,
                    District      = b.District.DistrictName,
                    TehsilId      = b.TehsilId,
                    Tehsil        = b.Tehsil.TehsilName,
                    Email         = b.Email,
                    DateofBirth   = b.DateofBirth,
                    VillageName   = b.VillageName,
                    ContactNumber = b.ContactNumber
                }).FirstOrDefaultAsync();

                return(query);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        /// <summary>
        /// 同步内部员工
        /// </summary>
        private async Task <APIResultDto> SynchronousEmployeeAsync(long departId, string accessToken)
        {
            try
            {
                /*IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/list");
                 * OapiUserListRequest request = new OapiUserListRequest();
                 * request.DepartmentId = departId;
                 * request.SetHttpMethod("GET");
                 * OapiUserListResponse response = client.Execute(request, accessToken);*/
                var url        = string.Format("https://oapi.dingtalk.com/user/list?access_token={0}&department_id={1}", accessToken, departId);
                var user       = Get.GetJson <DingUserListDto>(url);
                var entityByDD = user.userlist.Select(e => new EmployeeListDto()
                {
                    Id              = e.userid,
                    Unionid         = e.unionid,
                    Name            = e.name,
                    Mobile          = e.mobile,
                    Position        = e.position,
                    Department      = e.departmentStr.Replace("[", "").Replace("]", ""),
                    Email           = e.email,
                    IsLeaderInDepts = "key:" + departId + "value:" + e.isLeader,
                    HiredDate       = NewDate(e.hiredDate),
                    JobNumber       = e.jobnumber,
                    Avatar          = e.avatar,
                    Active          = e.active
                }).ToList();
                var originEntity = await _employeeRepository.GetAll().ToListAsync();

                foreach (var item in entityByDD)
                {
                    var e = originEntity.Where(r => r.Id == item.Id).FirstOrDefault();
                    if (e != null)
                    {
                        e.Unionid         = item.Unionid;
                        e.IsLeaderInDepts = item.IsLeaderInDepts;
                        e.Name            = item.Name;
                        e.Mobile          = item.Mobile;
                        e.Position        = item.Position;
                        e.Department      = item.Department;
                        e.JobNumber       = item.JobNumber;
                        e.Email           = item.Email;
                        e.HiredDate       = item.HiredDate;
                        e.Avatar          = item.Avatar;
                        e.Active          = item.Active;
                    }
                    else
                    {
                        var employee = new EmployeeListDto();
                        employee.Id              = item.Id;
                        employee.Unionid         = item.Unionid;
                        employee.IsLeaderInDepts = item.IsLeaderInDepts;
                        employee.JobNumber       = item.JobNumber;
                        employee.Name            = item.Name;
                        employee.Mobile          = item.Mobile;
                        employee.Position        = item.Position;
                        employee.Department      = item.Department;
                        employee.Email           = item.Email;
                        employee.HiredDate       = item.HiredDate;
                        employee.Avatar          = item.Avatar;
                        employee.Active          = item.Active;
                        employee.CreationTime    = DateTime.Now;
                        await CreateSyncEmployeeAsync(employee);
                    }
                }
                await CurrentUnitOfWork.SaveChangesAsync();

                return(new APIResultDto()
                {
                    Code = 0, Msg = "同步内部员工成功"
                });
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("SynchronousEmployeeAsync errormsg{0} Exception{1}", ex.Message, ex);
                return(new APIResultDto()
                {
                    Code = 901, Msg = "同步内部员工失败"
                });
            }
        }
Ejemplo n.º 7
0
        public JsonResult EmployeeList([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel)
        {
            EmployeeDto emp1 = new EmployeeDto()
            {
                EmployeeId = 1001, FirstName = "Praveen1", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp2 = new EmployeeDto()
            {
                EmployeeId = 1002, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp3 = new EmployeeDto()
            {
                EmployeeId = 1003, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp4 = new EmployeeDto()
            {
                EmployeeId = 1004, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp5 = new EmployeeDto()
            {
                EmployeeId = 1005, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp6 = new EmployeeDto()
            {
                EmployeeId = 1006, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp7 = new EmployeeDto()
            {
                EmployeeId = 1007, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp8 = new EmployeeDto()
            {
                EmployeeId = 1008, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp9 = new EmployeeDto()
            {
                EmployeeId = 1009, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp10 = new EmployeeDto()
            {
                EmployeeId = 10010, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp11 = new EmployeeDto()
            {
                EmployeeId = 10011, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };
            EmployeeDto emp12 = new EmployeeDto()
            {
                EmployeeId = 10012, FirstName = "Praveen", LastName = "Kumar", Address = "Hyderabad", EmailId = "*****@*****.**", ZipCode = "500082"
            };


            List <EmployeeDto> lstEmp = new List <EmployeeDto>();

            EmployeeListDto lstEmployee = new EmployeeListDto();

            lstEmp.Add(emp1);
            lstEmp.Add(emp2);
            lstEmp.Add(emp3);
            lstEmp.Add(emp4);
            lstEmp.Add(emp5);
            lstEmp.Add(emp6);
            lstEmp.Add(emp7);
            lstEmp.Add(emp8);
            lstEmp.Add(emp9);
            lstEmp.Add(emp10);
            lstEmp.Add(emp11);
            lstEmp.Add(emp12);

            //   var model1 = lstEmployee.EmployeeList.Skip(requestModel.Start).Take(requestModel.Length).ToList();
            lstEmp = lstEmp.Where(o => o.FirstName.ToLower().Contains(requestModel.Search.Value.ToLower())).ToList();
            lstEmployee.EmployeeList = lstEmp.Skip(requestModel.Start).Take(requestModel.Length).ToList();
            var model = lstEmployee;

            model.TotalEmployee = lstEmp.Count();
            var jsonresult = Json(new DataTablesResponse <EmployeeDto>(
                                      requestModel.Draw,
                                      model.EmployeeList,
                                      model.TotalEmployee,
                                      model.TotalEmployee
                                      ), JsonRequestBehavior.AllowGet);

            return(jsonresult);
            //var jsonresult = Json(data: "ssr");
            //return jsonresult;
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 同步内部员工
        /// </summary>
        private async Task <APIResultDto> SynchronousEmployeeAsync(long departId, string accessToken)
        {
            try
            {
                /*IDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/user/list");
                 * OapiUserListRequest request = new OapiUserListRequest();
                 * request.DepartmentId = departId;
                 * request.SetHttpMethod("GET");
                 * OapiUserListResponse response = client.Execute(request, accessToken);*/
                var url        = string.Format("https://oapi.dingtalk.com/user/list?access_token={0}&department_id={1}", accessToken, departId);
                var user       = Get.GetJson <DingUserListDto>(url);
                var entityByDD = user.userlist.Select(e => new EmployeeListDto()
                {
                    Id         = e.userid,
                    Name       = e.name,
                    Mobile     = e.mobile,
                    Position   = e.position,
                    Department = e.departmentStr,
                    IsAdmin    = e.isAdmin,
                    IsBoss     = e.isBoss,
                    Email      = e.email,
                    HiredDate  = e.hiredDate,
                    Avatar     = e.avatar,
                    Active     = e.active
                }).ToList();
                var originEntity = await _employeeRepository.GetAll().ToListAsync();

                foreach (var item in entityByDD)
                {
                    var e = originEntity.Where(r => r.Id == item.Id).FirstOrDefault();
                    if (e != null)
                    {
                        e.Name       = item.Name;
                        e.Mobile     = item.Mobile;
                        e.Position   = item.Position;
                        e.Department = item.Department;
                        e.IsAdmin    = item.IsAdmin;
                        e.IsBoss     = item.IsBoss;
                        e.Email      = item.Email;
                        e.HiredDate  = item.HiredDate;
                        e.Avatar     = item.Avatar;
                        e.Active     = item.Active;
                        //if (pidArr.ZHQPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.昭化区.ToString();
                        //    e.AreaCode = AreaCodeEnum.昭化区;
                        //}
                        //else if (pidArr.JGXPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.剑阁县.ToString();
                        //    e.AreaCode = AreaCodeEnum.剑阁县;
                        //}
                        //else if (pidArr.WCXPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.旺苍县.ToString();
                        //    e.AreaCode = AreaCodeEnum.旺苍县;
                        //}
                    }
                    else
                    {
                        var employee = new EmployeeListDto();
                        employee.Id         = item.Id;
                        employee.Name       = item.Name;
                        employee.Mobile     = item.Mobile;
                        employee.Position   = item.Position;
                        employee.Department = item.Department;
                        employee.IsAdmin    = item.IsAdmin;
                        employee.IsBoss     = item.IsBoss;
                        employee.Email      = item.Email;
                        employee.HiredDate  = item.HiredDate;
                        employee.Avatar     = item.Avatar;
                        employee.Active     = item.Active;
                        //if (pidArr.ZHQPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.昭化区.ToString();
                        //    e.AreaCode = AreaCodeEnum.昭化区;
                        //}
                        //else if (pidArr.JGXPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.剑阁县.ToString();
                        //    e.AreaCode = AreaCodeEnum.剑阁县;
                        //}
                        //else if (pidArr.WCXPIDArray.Contains(departId))
                        //{
                        //    e.Area = AreaCodeEnum.旺苍县.ToString();
                        //    e.AreaCode = AreaCodeEnum.旺苍县;
                        //}
                        await CreateSyncEmployeeAsync(employee);
                    }
                }
                await CurrentUnitOfWork.SaveChangesAsync();

                return(new APIResultDto()
                {
                    Code = 0, Msg = "同步内部员工成功"
                });
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("SynchronousEmployeeAsync errormsg{0} Exception{1}", ex.Message, ex);
                return(new APIResultDto()
                {
                    Code = 901, Msg = "同步内部员工失败"
                });
            }
        }