public async Task <int> CreateLeaveApp([Bind] LeaveApplicationCreateModel model) { try { int id = 0; var createLeaveapp = new LeaveApplication { EmployeeId = model.EmployeeId, ManagerId = model.ManagerId, Status = model.Status, EndDate = model.EndDate, DaysLeaveRemaining = model.DaysLeaveRemaining, NumberOfAbsent = model.NumberOfAbsent, CommentDate = model.CommentDate, FeedbackDate = model.FeedbackDate, Comment = model.Comment, StartDate = model.StartDate, Feedback = model.Feedback, LeaveCode = model.LeaveCode }; if (_context != null) { _context.LeaveApplication.Add(createLeaveapp); await _context.SaveChangesAsync(); id = createLeaveapp.Id; } var sendEmail = EmailService.Send(new SendEmailRequest() { Template = "", Body = $"Application for employee permission: <br> " + $"+ FullName: {model.FullName} <br>" + $"+ Department: {model.Department} <br>" + $"+ Start Day Of Leaves: {model.StartDate.ToString("dddd, dd MMMM yyyy")} <br>" + $"+ End Day Of Leaves: {(model.EndDate.HasValue ? model.EndDate.Value.ToString("dddd, dd MMMM yyyy") : "")} <br>" + $"+ Comment: {model.Comment} <br>" + $"+ Date Of Leaves Application: {model.CommentDate.ToString("dddd, dd MMMM yyyy")}", Subject = "Leaves Application", ToEmail = model.Email }); return(id); } catch (Exception) { throw; } }
public async Task <int> CreateEmployee(CreateEmployee employee) { int id = 0; var create = new Employee { FullName = employee.FullName, PositionId = employee.PositionId, DepartmentId = employee.DepartmentId, Sex = employee.Sex != 0, Dob = employee.DOB, IdNumber = employee.IdNumber, PhoneNumber = employee.PhoneNumber, Email = employee.Email, Address = employee.Address, TaxId = employee.TaxId, Image = employee.Image, CreateDate = DateTime.Now, EditDate = DateTime.Now, IsActive = true, IsDelete = false }; try { if (create.PositionId == 1) { int select = await(from e in db.Employee where e.PositionId == 1 && e.DepartmentId == create.DepartmentId && e.IsDelete == false && e.IsActive == true select e.Id).FirstOrDefaultAsync(); if (select != 0) { var emp = await(from e in db.Employee where e.PositionId == 1 && e.DepartmentId == create.DepartmentId && e.IsDelete == false && e.IsActive == true select e).FirstOrDefaultAsync(); var update = new Employee { Id = emp.Id, PositionId = 3, FullName = emp.FullName, DepartmentId = emp.DepartmentId, Sex = emp.Sex, Dob = emp.Dob, IdNumber = emp.IdNumber, PhoneNumber = emp.PhoneNumber, Email = emp.Email, Address = emp.Address, TaxId = emp.TaxId, Image = emp.Image, EditDate = emp.EditDate, IsActive = true }; db.Employee.Update(update); await db.SaveChangesAsync(); return(id = update.Id); } } db.Employee.Add(create); await db.SaveChangesAsync(); return(id = create.Id); } catch (Exception exp) { throw exp; } }