public JsonResult SavePerformanceCardDetail(PerformanceCardViewModel Model)
        {
            Model.UserId = Convert.ToInt32(Session["UserId"]);
            var result = _perforamnce.SavePerformanceCardDetail(Model);

            if (result.IsSuccess)
            {
                TempData["msg"] = result.Massage;
            }
            var       tblPerformanceEntryMasterId = Model.tblPerformanceEntryMasterId.ToString();
            string    Template = Email.GetDynamicTemplateForPerformance(tblPerformanceEntryMasterId, Model.Percentage, Model.ReviewArr, Model.WeeklyArr);
            TestEmail email    = new TestEmail(Template, Model.ReviewArr + " Result Notification", "*****@*****.**");

            email.SendTestingMail();
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public PerformanceCardViewModel GetCandidatePerformanceIntialPageInfo(int RegNo, string Review)
        {
            PerformanceCardViewModel result = new PerformanceCardViewModel();

            if (string.IsNullOrEmpty(Review))
            {
                result = _context.AddmissionMasters.Where(r => r.RegistrationNo == RegNo).Select(item => new PerformanceCardViewModel
                {
                    BatchName              = item.AddmissionDetails.FirstOrDefault().BatchMaster.Name,
                    BatchId                = item.AddmissionDetails.FirstOrDefault().BatchId,
                    RegNo                  = item.RegistrationNo,
                    StudentName            = item.Fname + " " + item.Lname,
                    Fname                  = item.Fname,
                    Lname                  = item.Lname,
                    PhotoPath              = item.ImageUrl,
                    Email                  = item.Email,
                    Mobile                 = item.MobileNo,
                    AdmissionDate          = item.AddmissionDate,
                    AdmissionId            = item.Id,
                    PercentageCritiriaInfo = item.AddmissionDetails.FirstOrDefault().BatchMaster.tblPerformancePercentageMasters.Select(s => new PercentageInfoViewModel
                    {
                        BatchId                = s.BatchId,
                        FromPercentage         = s.FromPercentage,
                        TillPercentage         = s.TillPercentage,
                        tblReviewMasterId      = s.tblReviewMasterId,
                        tblPerformanceMasterId = s.tblPerformanceMasterId
                    }).ToList(),
                    ParmeterTypeList = _context.tblParameterTypes.Where(t => t.IsActive).Select(p => new ParameterTypeViewModel
                    {
                        Id            = p.Id,
                        Name          = p.Name,
                        IsActive      = p.IsActive,
                        ParameterList = p.tblParameterLists.Where(pl => pl.IsActive).Select(p1 => new ParameterListViewModel
                        {
                            ParameterId  = p1.Id,
                            KeyId        = p1.KeyId,
                            Name         = p1.Name,
                            IsActive     = p1.IsActive,
                            IsApplicable = p1.Gender == null ? true : (item.Gender == p1.Gender ? true : false)
                        }).ToList()
                    }).ToList()
                }).FirstOrDefault();
            }
            else
            {
                int RevIdNew = Convert.ToInt32(Review);
                result = _context.AddmissionMasters.Where(r => r.RegistrationNo == RegNo).Select(item => new PerformanceCardViewModel
                {
                    BatchName              = item.AddmissionDetails.FirstOrDefault().BatchMaster.Name,
                    BatchId                = item.AddmissionDetails.FirstOrDefault().BatchId,
                    RegNo                  = item.RegistrationNo,
                    StudentName            = item.Fname + " " + item.Lname,
                    Fname                  = item.Fname,
                    Lname                  = item.Lname,
                    PhotoPath              = item.ImageUrl,
                    Email                  = item.Email,
                    Mobile                 = item.MobileNo,
                    AdmissionDate          = item.AddmissionDate,
                    AdmissionId            = item.Id,
                    PercentageCritiriaInfo = item.AddmissionDetails.FirstOrDefault().BatchMaster.tblPerformancePercentageMasters.Select(s => new PercentageInfoViewModel
                    {
                        BatchId                = s.BatchId,
                        FromPercentage         = s.FromPercentage,
                        TillPercentage         = s.TillPercentage,
                        tblReviewMasterId      = s.tblReviewMasterId,
                        tblPerformanceMasterId = s.tblPerformanceMasterId
                    }).ToList(),
                    ParmeterTypeList = item.tblPerformanceEntryMasters.Where(w => w.ReviewId == RevIdNew).FirstOrDefault().tblPerformanceParameterTypeResultMasters.GroupBy(g => g.ParameterTypeId).Select(p => new ParameterTypeViewModel
                    {
                        Id            = p.Key,
                        Name          = p.FirstOrDefault().tblParameterType.Name,
                        IsActive      = p.FirstOrDefault().tblParameterType.IsActive,
                        ParameterList = p.Select(p1 => new ParameterListViewModel
                        {
                            ParameterId  = p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterId,
                            KeyId        = p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterList.KeyId,
                            Name         = p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterList.Name,
                            IsActive     = p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterList.IsActive,
                            IsApplicable = p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterList.Gender == null ? true : (item.Gender == p1.tblPerformanceParameterResultMasters.FirstOrDefault().tblParameterList.Gender ? true : false)
                        }).ToList()
                    }).ToList()
                }).FirstOrDefault();
            }
            if (result != null)
            {
                result.UIN         = GetCandidateKey(result.BatchName, result.RegNo, result.AdmissionDate);
                result.StudentName = result.Fname + " " + result.Lname;
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                result.PercentageCritiriaJsonInfo = serializer.Serialize(result.PercentageCritiriaInfo.Select(a => new
                {
                    PeformanceId  = a.tblPerformanceMasterId,
                    FromPercenage = a.FromPercentage,
                    ToPercentage  = a.TillPercentage
                }).ToList());
            }
            if (!string.IsNullOrEmpty(Review))
            {
                var      data  = _context.tblPerformanceEntryMasters.Where(t => t.RegistrationNo == RegNo);
                string[] arr   = Review.Split('-');
                int      RevId = Convert.ToInt32(arr[0]);
                data = data.Where(d => d.ReviewId == RevId);
                if (arr.Length == 2)
                {
                    int WeeklyId = Convert.ToInt32(arr[1]);
                    data = data.Where(d => d.tblWeeklyReviewMaster == WeeklyId);
                }
                result.PerformanceReview = data.FirstOrDefault().PerformanceReview;
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                result.GetRatingData = serializer.Serialize(data.FirstOrDefault().tblPerformanceParameterTypeResultMasters.Select(item => new ParameterTypeViewModel
                {
                    Id            = item.ParameterTypeId,
                    Name          = item.tblParameterType.Name,
                    ParameterList = item.tblPerformanceParameterResultMasters.Select(p => new ParameterListViewModel
                    {
                        KeyId        = p.tblParameterList.KeyId,
                        ParameterId  = p.tblParameterId,
                        Name         = p.tblParameterList.Name,
                        Remark       = p.Remarks,
                        Rating       = p.Rating,
                        IsApplicable = p.IsNotApplicable
                    }).ToList()
                }).ToList());
            }
            return(result);
        }
Beispiel #3
0
        public ResultViewModel SavePerformanceCardDetail(PerformanceCardViewModel Model)
        {
            ResultViewModel error = new ResultViewModel();

            try
            {
                tblPerformanceEntryMaster entryMaster = new tblPerformanceEntryMaster
                {
                    RegistrationNo         = Model.RegNo,
                    ReviewId               = Model.ReviewId,
                    tblPerformanceMasterId = Model.PerformanceMasterId,
                    EnteredDate            = DateTime.Now,
                    EnteredBy              = Model.UserId,
                    BatchId               = Model.BatchId.Value,
                    AddmissionMasterId    = Model.AdmissionId,
                    tblWeeklyReviewMaster = Model.WeeklyTermId > 0 ? Model.WeeklyTermId : (int?)null,
                    Percentage            = Model.Percentage,
                    PerformanceReview     = Model.PerformanceReview
                };
                _context.tblPerformanceEntryMasters.Add(entryMaster);
                foreach (var item in Model.ParameterTypeInfoList)
                {
                    tblPerformanceParameterTypeResultMaster parameterType = new tblPerformanceParameterTypeResultMaster
                    {
                        tblPerformanceEntryMasterId = entryMaster.Id,
                        tblPerformanceMasterId      = item.PerformanceMasterId,
                        ParameterTypeId             = item.ParameterTypeId,
                        EnteredBy   = Model.UserId,
                        EnteredDate = DateTime.Now
                    };
                    _context.tblPerformanceParameterTypeResultMasters.Add(parameterType);
                    if (item.IsApplicable)
                    {
                        foreach (var obj in item.ParameterInfoList)
                        {
                            tblPerformanceParameterResultMaster parameter = new tblPerformanceParameterResultMaster
                            {
                                Rating  = obj.Rating,
                                Remarks = obj.Remarks,
                                tblPerformanceParameterTypeResultMasterId = parameterType.Id,
                                tblParameterId  = obj.TblParameterId,
                                EnteredBy       = Model.UserId,
                                EnteredDate     = DateTime.Now,
                                IsNotApplicable = false
                            };
                            _context.tblPerformanceParameterResultMasters.Add(parameter);
                        }
                    }
                    else
                    {
                        tblPerformanceParameterResultMaster parameter = new tblPerformanceParameterResultMaster
                        {
                            Rating = 0,
                            tblPerformanceParameterTypeResultMasterId = parameterType.Id,
                            tblParameterId  = item.PtId,
                            EnteredBy       = Model.UserId,
                            EnteredDate     = DateTime.Now,
                            IsNotApplicable = true
                        };
                        _context.tblPerformanceParameterResultMasters.Add(parameter);
                    }
                    _context.SaveChanges();
                    Model.tblPerformanceEntryMasterId = entryMaster.Id;
                }
                error.IsSuccess = true;
                error.Massage   = "Candidate performance card detail saved successfully!";
                return(error);
            }
            catch (Exception ex)
            {
                error.IsSuccess = false;
                error.Massage   = ex.Message + " " + ex.InnerException;
                return(error);
            }
        }