コード例 #1
0
        private void SendAssignmentAcceptedEmail(string from, string enrollmentId)
        {
            OnboardingDetails enrollment = this._enrollmentService.GetEditCandidateDetails(Convert.ToInt32(enrollmentId));
            var hrUser = this._userManager.Users.Where(r => r.Id == enrollment.HrUserId).FirstOrDefault();

            if (from != null && !string.IsNullOrEmpty(hrUser.Email))
            {
                string toMail = hrUser.Email;
                this.SendMail(from, toMail, "Work started ", "Paper work for " + enrollment.CandidateFullName + " has been started.");
            }
        }
コード例 #2
0
        public ActionResult UpdateCandidate(OnboardingDetails model)
        {
            if (model != null && ModelState.IsValid)
            {
                bool valid = true;
                if (!string.IsNullOrEmpty(model.BillRate) && !string.IsNullOrEmpty(model.PayRate) && Convert.ToDecimal(model.BillRate) < Convert.ToDecimal(model.PayRate))
                {
                    valid = false;
                    ModelState.AddModelError("PayRate", "Pay Rate can't exceed Bill Rate.");
                }

                if (!string.IsNullOrEmpty(model.ContactEmail) && string.IsNullOrEmpty(model.ContactName.Trim()))
                {
                    valid = false;
                    ModelState.AddModelError("ContactFirstName", "Contact Name is required.");
                }

                if (!valid)
                {
                    return(this.Json(
                               new
                    {
                        Success = false,
                        Message = "Validation failed",
                        Html = this.RenderPartialViewToString("_OnboardDetails", model)
                    }));
                }

                var loggedUser = this._userManager.Users.Where(r => r.UserName == User.Identity.Name).FirstOrDefault();
                model.CurrentUser = loggedUser.UserName;

                this._enrollmentService.UpdateCandidateDetails(model);
                model = this._enrollmentService.GetEditCandidateDetails(model.EnrollmentId);

                return(this.Json(
                           new
                {
                    Success = true,
                    Message = string.Empty,
                    Html = this.RenderPartialViewToString("_OnboardDetails", model)
                }));
            }
            else
            {
                return(this.Json(
                           new
                {
                    Success = false,
                    Message = "Validation failed",
                    Html = this.RenderPartialViewToString("_OnboardDetails", model)
                }));
            }
        }
コード例 #3
0
        public OnboardingDetails GetEditCandidateDetails(int enrollmentId)
        {
            var enrollment = this._context
                             .Enrollment
                             .Where(r => r.EnrollmentId == enrollmentId)
                             .Select(r => new
            {
                Email           = r.Candidate.Email,
                AddressLine1    = r.Candidate.AddressLine1,
                AddressLine2    = r.Candidate.AddressLine2,
                City            = r.Candidate.City,
                State           = r.Candidate.State,
                Zip             = r.Candidate.Zip,
                Phone           = r.Candidate.Phone,
                Position        = r.JobTitle,
                BillRate        = r.BillRate == null ? "" : r.BillRate.ToString(),
                PayRate         = r.PayRate == null ? "" : r.PayRate.ToString(),
                StartDate       = r.StartDate == null ? "" : r.StartDate.ToString(),
                EndDate         = r.EndDate == null ? "" : r.EndDate.ToString(),
                VendorId        = r.VendorId,
                VendorContactId = r.VendorContactId,
                HrUserId        = r.HRUserId,
                FirstName       = r.Candidate.FirstName,
                LastName        = r.Candidate.LastName,
            }).ToList();

            OnboardingDetails detail = new OnboardingDetails();

            foreach (var theDetail in enrollment)
            {
                detail.EnrollmentId      = enrollmentId;
                detail.Email             = theDetail.Email;
                detail.AddressLine1      = theDetail.AddressLine1;
                detail.AddressLine2      = theDetail.AddressLine2;
                detail.City              = theDetail.City;
                detail.State             = theDetail.State;
                detail.Zip               = theDetail.Zip;
                detail.Phone             = theDetail.Phone;
                detail.Position          = theDetail.Position;
                detail.BillRate          = theDetail.BillRate;
                detail.PayRate           = theDetail.PayRate;
                detail.StartDate         = theDetail.StartDate;
                detail.EndDate           = theDetail.EndDate;
                detail.VendorId          = theDetail.VendorId == null ? 0 : (int)theDetail.VendorId;
                detail.VendorContactId   = theDetail.VendorContactId == null ? 0 : (int)theDetail.VendorContactId;
                detail.HrUserId          = theDetail.HrUserId == null ? 0 : (int)theDetail.HrUserId;
                detail.CandidateFullName = theDetail.FirstName + " " + theDetail.LastName;
            }

            // Load Vendor details
            if (detail.VendorId != 0)
            {
                var vendor = this._context.Vendor.Where(r => r.VendorId == detail.VendorId).Select
                                 (r => new
                {
                    VendorName         = r.CompanyName,
                    VendorAddressLine1 = r.AddressLine1,
                    VendorAddressLine2 = r.AddressLine2,
                    VendorCity         = r.City,
                    VendorState        = r.State,
                    VendorZip          = r.Zip,
                    FederalId          = r.TaxId,
                }).ToList();

                foreach (var theVendor in vendor)
                {
                    detail.VendorName         = theVendor.VendorName;
                    detail.VendorAddressLine1 = theVendor.VendorAddressLine1;
                    detail.VendorAddressLine2 = theVendor.VendorAddressLine2;
                    detail.VendorCity         = theVendor.VendorCity;
                    detail.VendorState        = theVendor.VendorState;
                    detail.VendorZip          = theVendor.VendorZip;
                    detail.FederalId          = theVendor.FederalId;
                }
            }

            // Load Vendor details
            if (detail.VendorContactId != 0)
            {
                var contact = this._context.Vendor_Contact.Where(r => r.VendorContactId == detail.VendorContactId).Select
                                  (r => new
                {
                    ContactFirstName = r.Name,
                    //ContactLastName = r.ContactLastName,
                    ContactEmail = r.Email,
                }).ToList();

                foreach (var theContact in contact)
                {
                    detail.ContactFirstName = theContact.ContactFirstName;
                    detail.ContactEmail     = theContact.ContactEmail;
                }
            }

            return(detail);
        }
コード例 #4
0
        public void UpdateCandidateDetails(OnboardingDetails detail)
        {
            var enrollment = this._context
                             .Enrollment.Include(r => r.Candidate).Include(r => r.Vendor).Include(r => r.VendorContact)
                             .Where(r => r.EnrollmentId == detail.EnrollmentId).First();

            enrollment.Candidate.Email        = detail.Email;
            enrollment.Candidate.AddressLine1 = detail.AddressLine1;
            enrollment.Candidate.AddressLine2 = detail.AddressLine2;
            enrollment.Candidate.City         = detail.City;
            enrollment.Candidate.State        = detail.State;
            enrollment.Candidate.Zip          = detail.Zip;
            enrollment.Candidate.Phone        = detail.Phone;
            enrollment.JobTitle    = detail.Position;
            enrollment.BillRate    = Convert.ToDecimal(detail.BillRate);
            enrollment.PayRate     = Convert.ToDecimal(detail.PayRate);
            enrollment.StartDate   = Convert.ToDateTime(detail.StartDate);
            enrollment.EndDate     = Convert.ToDateTime(detail.EndDate);
            enrollment.CurrentUser = detail.CurrentUser;

            if (enrollment.Vendor != null)
            {
                enrollment.Vendor.CompanyName  = detail.VendorName;
                enrollment.Vendor.AddressLine1 = detail.VendorAddressLine1;
                enrollment.Vendor.AddressLine2 = detail.VendorAddressLine2;
                enrollment.Vendor.City         = detail.VendorCity;
                enrollment.Vendor.State        = detail.VendorState;
                enrollment.Vendor.Zip          = detail.VendorZip;
                enrollment.Vendor.TaxId        = detail.FederalId;
            }

            if (enrollment.VendorContact != null)
            {
                enrollment.VendorContact.Name  = detail.ContactFirstName;
                enrollment.VendorContact.Email = detail.ContactEmail;
            }
            else if (!string.IsNullOrEmpty(detail.ContactFirstName) && enrollment.Vendor != null)
            {
                VendorContact theContact = new VendorContact
                {
                    Name     = detail.ContactFirstName,
                    Email    = detail.ContactEmail,
                    VendorId = enrollment.Vendor.VendorId
                };

                this._context.Vendor_Contact.Add(theContact);
                enrollment.VendorContact = theContact;
            }

            this._context.Attach(enrollment);

            EnrollmentActivity activity = new EnrollmentActivity()
            {
                Action       = "Candidate information altered",
                EnrollmentId = enrollment.EnrollmentId,
                Enrollment   = enrollment
            };

            this._context.Enrollment_Activity.Add(activity);

            this._context.SaveChanges();
        }
コード例 #5
0
        public async Task <IEnumerable <Agency> > ActivateAgencyAccount([FromBody] OnboardingDetails details)
        {
            IEnumerable <Agency> agency = await _agency.ActivateAgency(details);

            return(agency);
        }