Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }