Exemple #1
0
        public int InsertApplicantAndTask(taskapplicant taskApplicant, user applicant)
        {
            var result = Context.Set <user>().Add(applicant);
            var res    = Context.Set <taskapplicant>().Add(taskApplicant);

            return(Context.SaveChanges());
        }
Exemple #2
0
        public int InsertApplicant(ApplicantRequest model)
        {
            int result    = 0;
            var applicant = _userRepository.GetUserByEmailId(model.EmailId);

            if (applicant != null && applicant.ID != null)
            {
                var taskApplicant = new taskapplicant();
                taskApplicant.APPLICANT_ID = applicant.ID;
                taskApplicant.TASK_ID      = model.TaskId;
                taskApplicant.STATUS       = TaskApplicant.Active.ToString();
                result = _userRepository.InsertTaskApplicant(taskApplicant);
            }
            else
            {
                var applicantt = new user();
                applicantt.EMAIL_ID         = model.EmailId;
                applicantt.FIRST_NAME       = model.FirstName;
                applicantt.LAST_NAME        = model.LastName;
                applicantt.MANAGER_EMAIL_ID = model.ManagerEmailId;

                var taskApplicant = new taskapplicant();
                taskApplicant.TASK_ID = model.TaskId;
                taskApplicant.STATUS  = TaskApplicant.Active.ToString();
                result = _userRepository.InsertApplicantAndTask(taskApplicant, applicantt);
            }
            return(result);
        }
        public int RejectTask(taskapplicant taskApplicant)
        {
            var dbApplicant = Context.Set <taskapplicant>().Where(x => x.ID == taskApplicant.ID).FirstOrDefault();

            dbApplicant.STATUS = ApplicantStatus.ManagerRejected.ToString();
            var count = Context.SaveChanges();

            return(count);
        }
        public int AllowTask(taskapplicant taskApplicant)
        {
            var dbApplicant = Context.Set <taskapplicant>().Where(x => x.ID == taskApplicant.ID).FirstOrDefault();

            dbApplicant.STATUS = ApplicantStatus.ManagerApproved.ToString();
            var result = Context.SaveChanges();

            return(result);
        }
Exemple #5
0
        public int AllowTask(ApproveTaskRequest taskRequest)
        {
            var userContext = _commonService.GetCurrentUserContext();
            var dbApplicant = new taskapplicant();

            dbApplicant.ID           = taskRequest.TaskApplicantId;
            dbApplicant.APPLICANT_ID = taskRequest.ApplicantId;
            dbApplicant.TASK_ID      = taskRequest.TaskId;
            MapAuditFields <taskapplicant>(ActionType.Update, dbApplicant);
            var result = _requestorRepository.AllowTask(dbApplicant);

            if (result > 0)
            {
                var task          = _taskRepository.GetTaskById(taskRequest.TaskId);
                var offering      = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault();
                var applicant     = _requestorRepository.GetTaskApplicantByApplicantId(taskRequest.TaskApplicantId);
                var ccMailAddress = applicant.task.CREATED_BY.ToString() + ";" + userContext.EmailId.ToString();
                var mailMessage   = EmailHelper.SendApproveRejectNotification(applicant.user.FIRST_NAME + Constants.Space + applicant.user.LAST_NAME, applicant.task.TASK_NAME, applicant.task.PROJECT_NAME, EmailType.Approved, applicant.user.EMAIL_ID, ccMailAddress, offering);
                var emailTracker  = new EmailTracker
                {
                    ToAddresses = applicant.user.EMAIL_ID,
                    Subject     = mailMessage.Subject,
                    Body        = mailMessage.Body,
                    TaskId      = taskRequest.TaskId,
                    Source      = ApplicationSource.WebApp.ToString()
                };
                foreach (var address in emailTracker.CcAddresses)
                {
                    if (ccMailAddress != null)
                    {
                        emailTracker.CcAddresses.Add(ccMailAddress);
                    }
                }
                _emailTrackerService.InsertEmail(emailTracker);
            }

            return(result);
        }
        public int ApplyTask(int taskId, string emailAddress, string statementOfPurpose)
        {
            try
            {
                var user = _commonService.GetCurrentUserContext();

                var taskApplicant = new taskapplicant
                {
                    APPLICANT_ID         = user.UserId,
                    TASK_ID              = taskId,
                    STATUS               = ApplicantStatus.Active.ToString(),
                    STATUS_DATE          = DateTime.Now,
                    STATEMENT_OF_PURPOSE = statementOfPurpose
                };

                MapAuditFields(ActionType.Insert, taskApplicant);

                var result = _contributorRepository.ApplyForTask(taskApplicant);

                if (result > 0)
                {
                    var task = _taskRepository.GetTaskById(taskId);

                    if (string.IsNullOrWhiteSpace(emailAddress))
                    {
                        emailAddress = user.ManagerEmailId;
                    }

                    var managerName = _commonService.GetNameFromEmailId(emailAddress);

                    _userRepository.UpdateManager(user.UserId, managerName, emailAddress);

                    var RMGroupEmailAddress = _commonService.GetRMGroupEmailAddress(user.Department);

                    var offering = _commonService.GetOfferings().Where(x => x.Id == task.OFFERING_ID).Select(x => x.Description).FirstOrDefault();

                    var mailMessage = EmailHelper.ApplyNotification(
                        managerName,
                        $"{user.FirstName}{Constants.Space}{user.LastName}",
                        task.TASK_NAME,
                        task.PROJECT_NAME,
                        $"{task.HOURS.ToString()}h",
                        task.ONBOARDING_DATE.Value.ToShortDateString(),
                        emailAddress,
                        $"{user.EmailId};{RMGroupEmailAddress}",
                        offering);

                    var emailTracker = new EmailTracker
                    {
                        ToAddresses = emailAddress,
                        Subject     = mailMessage.Subject,
                        Body        = mailMessage.Body,
                        TaskId      = taskId,
                        Source      = ApplicationSource.WebApp.ToString()
                    };

                    if (RMGroupEmailAddress != null)
                    {
                        emailTracker.CcAddresses.Add(RMGroupEmailAddress);
                    }

                    _emailTrackerService.InsertEmail(emailTracker);
                }
                return(result);
            }
            catch (Exception ex)
            {
                var logDetails = new DCode.Models.Common.Log {
                    Description = ex.Message, Details = ex.ToString()
                };
                _commonService.LogToDatabase(logDetails);
                return(-1);
            }
        }
        public int ApplyFITask(int taskId, string requestor)
        {
            try
            {
                var user = _commonService.GetCurrentUserContext();

                var taskApplicant = new taskapplicant
                {
                    APPLICANT_ID         = user.UserId,
                    TASK_ID              = taskId,
                    STATUS               = ApplicantStatus.ManagerApproved.ToString(),
                    STATUS_DATE          = DateTime.Now,
                    STATEMENT_OF_PURPOSE = "Interested for Firm Initiative"
                };

                MapAuditFields(ActionType.Insert, taskApplicant);

                var result = _contributorRepository.ApplyForTask(taskApplicant);

                if (result > 0)
                {
                    var requestorName = _commonService.GetNameFromEmailId(requestor);

                    var task = _taskRepository.GetTaskById(taskId);

                    var offering = _commonService.GetOfferings()
                                   .Where(x => x.Id == task.OFFERING_ID)
                                   .Select(x => x.Description)
                                   .FirstOrDefault();

                    var mailMessage = EmailHelper.ApplyFINotification(
                        requestorName,
                        $"{user.FirstName}{Constants.Space}{user.LastName}",
                        task.TASK_NAME,
                        task.DETAILS,
                        task.HOURS.ToString(),
                        task.ONBOARDING_DATE.Value.ToShortDateString(),
                        requestor,
                        user.EmailId,
                        offering);

                    var emailTracker = new EmailTracker
                    {
                        ToAddresses = requestor,
                        Subject     = mailMessage.Subject,
                        Body        = mailMessage.Body,
                        TaskId      = taskId,
                        Source      = ApplicationSource.WebApp.ToString()
                    };

                    if (user.EmailId != null)
                    {
                        emailTracker.CcAddresses.Add(user.EmailId);
                    }

                    _emailTrackerService.InsertEmail(emailTracker);
                }

                return(result);
            }
            catch (Exception ex)
            {
                var logDetails = new DCode.Models.Common.Log {
                    Description = ex.Message, Details = ex.ToString()
                };
                _commonService.LogToDatabase(logDetails);
                return(-1);
            }
        }
        public int ApplyForTask(taskapplicant taskApplicant)
        {
            var result = Context.Set <taskapplicant>().Add(taskApplicant);

            return(Context.SaveChanges());
        }