public bool DeleteEmploymentRequest([FromBody] EmploymentRequestDto employmentRequestDto) { try { using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { EmploymentRequests employmentRequest = context.EmploymentRequests.FirstOrDefault(e => e.EtrOfrId == employmentRequestDto.OfferId && e.EtrEmpId == employmentRequestDto.EmployeeId && e.EtrAuditRd == null); if (employmentRequest == null) { return(false); } employmentRequest.EtrAuditRd = DateTime.UtcNow; employmentRequest.EtrAuditRu = User.GetUserId(); context.SaveChanges(); } return(true); } catch (Exception) { //todo: add logging return(false); } }
public EmploymentRequestDto(EmploymentRequests employmentRequest) { Id = employmentRequest.EtrId; ContractId = employmentRequest.EtrCntId; EmployeeId = employmentRequest.EtrEmpId; OfferId = employmentRequest.EtrOfrId; Status = employmentRequest.EtrStatus; ClientId = employmentRequest.EtrCltId; }
public EmploymentRequestDto MakeEmploymentRequest([FromBody] EmploymentRequestDto employmentRequestDto) { EmploymentRequests employmentRequest = new EmploymentRequests { EtrAuditCd = DateTime.UtcNow, EtrAuditCu = User.GetUserId(), EtrOfrId = employmentRequestDto.OfferId, EtrCntId = null, EtrEmpId = employmentRequestDto.EmployeeId, EtrCltId = employmentRequestDto.ClientId, EtrStatus = employmentRequestDto.Status }; using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { context.EmploymentRequests.Add(employmentRequest); context.SaveChanges(); // employee = context.Employees.FirstOrDefault(c => c.EmpId == employmentRequest.EtrEmpId); // contragent = context.Contragents.FirstOrDefault(c => c.CgtId == employee.EmpCtgId); // offer = context.Offers.FirstOrDefault(o => o.OfrId == employmentRequest.EtrOfrId); // responsibleUser = context.AspNetUsers.FirstOrDefault(u => u.Id == contragent.CgtResponsibleUser); } // IEmailMessageBuilder bodyBuilder = new PimpEmployeeBodyBuilder(new EmployeeDto(employee), new ContragentDto(contragent), new OfferDto(offer)); // string emailBody = bodyBuilder.BuildBody(); // string emailSubject = bodyBuilder.BuildSubject(); // NotificationEmailSender emailSender = new NotificationEmailSender(); // if (responsibleUser.Email != null) // { // await emailSender.SendEmailAsync(responsibleUser.Email, emailSubject, emailBody); // } // await emailSender.SendEmailAsync("*****@*****.**", emailSubject, emailBody); employmentRequestDto.Id = employmentRequest.EtrId; return(employmentRequestDto); }
public bool FinishEmployeeContract([FromBody] EmploymentRequestDto employmentRequestDto) { try { var employee = new Employees(); var contragent = new Contragent(); var offer = new Offer(); var responsibleUser = new AspNetUsers(); string status; using (DB_A12601_bielkaContext context = new DB_A12601_bielkaContext()) { EmploymentRequests employmentRequest = context.EmploymentRequests.FirstOrDefault(e => e.EtrOfrId == employmentRequestDto.OfferId && e.EtrEmpId == employmentRequestDto.EmployeeId && e.EtrAuditRd == null); if (employmentRequest == null) { return(false); } employmentRequest.EtrAuditMd = DateTime.UtcNow; employmentRequest.EtrAuditMu = User.GetUserId(); employmentRequest.EtrStatus = employmentRequestDto.Status; status = employmentRequestDto.Status == 1 ? "Accepted" : "Rejected"; employee = context.Employees.FirstOrDefault(c => c.EmpId == employmentRequest.EtrEmpId); contragent = context.Contragents.FirstOrDefault(c => c.CgtId == employee.EmpCtgId); offer = context.Offers.FirstOrDefault(o => o.OfrId == employmentRequest.EtrOfrId); responsibleUser = context.AspNetUsers.FirstOrDefault(u => u.Id == contragent.CgtResponsibleUser); if (employmentRequest.EtrStatus == 1) { employee.EmpCltId = employmentRequest.EtrCltId; employee.EmpOffId = employmentRequest.EtrOfrId; } if (employmentRequest.EtrStatus == 2) { employee.EmpCltId = null; employee.EmpOffId = null; } context.SaveChanges(); } // IEmailMessageBuilder bodyBuilder = new ChangePimpStatusBodyBuilder(new EmployeeDto(employee), new ContragentDto(contragent), new OfferDto(offer), status); // string emailBody = bodyBuilder.BuildBody(); // string emailSubject = bodyBuilder.BuildSubject(); // NotificationEmailSender emailSender = new NotificationEmailSender(); // if (responsibleUser.Email != null) // { // // await emailSender.SendEmailAsync(responsibleUser.Email, emailSubject, emailBody); // } // await emailSender.SendEmailAsync("*****@*****.**", emailSubject, emailBody); return(true); } catch (Exception) { //todo: add logging return(false); } }