public ModelResponse NewEducationInformation(UserInfo user, ref EducationalInformationVm vm, bool validateOnly) { try { //Authorization //Authorization if (user == null) { return(new ModelResponse(101)); } //if (user != null) //{ // if ( !user.IsIndividual) return new ModelResponse(101); //} //Validations // if (vm.graduationyear != null) return new ModelResponse(1); //if (string.IsNullOrWhiteSpace(vm.Degree) ) return new ModelResponse(1); // if (string.IsNullOrWhiteSpace(vm.Grade)) return new ModelResponse(1); // if (vm.Name.IsNullOrWhiteSpace()) return new ModelResponse(1); if (!validateOnly) { Repo.PostNewEducationInformation(ref vm, user); } } catch (Exception ex) { return(new ModelResponse(ex)); } return(new ModelResponse(0, vm.IndividualEducationlevelID)); }
public static object PostnewEducation(EducationalInformationVm data, bool validateOnly) { var mr = Mgr.NewEducationInformation(Utils.LoggedUser, ref data, validateOnly); return(Utils.ServiceResponse(PageCode, mr)); }
public long PostNewEducationInformation(ref EducationalInformationVm vm, UserInfo user) { using (var db = new LMISEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var id = vm.IndividualEducationlevelID; if (id > 0) //Update { var tr = db.IndividualEducationlevels .Where(r => r.IsDeleted == null && r.IndividualEducationlevelID == id) .ToList().Single(); tr.GraduationYear = vm.graduationyear; tr.Degree = vm.Degree; tr.GradePrecentage = vm.Percentage; tr.PortalUsersID = user.PortalUserId; tr.GradeGPA = vm.GradeGPA; // tr.Is_Approved = (byte)vm.Approval; // tr.IsInformal = vm.IsInformal; tr.UpdateUserID = user.UserId; tr.UpdateDate = DateTime.UtcNow; //Delete detail records var dr = db.IndividualEducationlevelDets .Where(r => r.IndividualEducationlevelID == id) .ToList(); db.IndividualEducationlevelDets.RemoveRange(dr); } else //Insert { var tr = new IndividualEducationlevel { GraduationYear = vm.graduationyear, Degree = vm.Degree, GradePrecentage = vm.Percentage, PortalUsersID = user.PortalUserId, LevelOfEducation = vm.EducationalLevelId, PostDate = System.DateTime.Now, GradeGPA = vm.GradeGPA }; db.IndividualEducationlevels.Add(tr); db.SaveChanges(); vm.IndividualEducationlevelID = (long)tr.IndividualEducationlevelID; } //Insert detail records foreach (var r in vm.Name.ToLocalStrings()) { var dr = new IndividualEducationlevelDet() { IndividualEducationlevelID = vm.IndividualEducationlevelID, LanguageID = r.L, InstitutionName = r.T, InstitutionType = r.L == 1 ? vm.InstitutionType.English : r.L == 3 ? vm.InstitutionType.Arabic : vm.InstitutionType.French, CertificationType = r.L == 1 ? vm.CertificationType.English : r.L == 3 ? vm.CertificationType.Arabic : vm.CertificationType.French, FacultyName = r.L == 1 ? vm.FacultyName.English : r.L == 3 ? vm.FacultyName.Arabic : vm.FacultyName.French, Grade = r.L == 1 ? vm.Grade.English : r.L == 3 ? vm.Grade.Arabic : vm.Grade.French }; db.IndividualEducationlevelDets.Add(dr); } var indvidual = db.IndividualDetails.Single(s => s.PortalUsersID == user.PortalUserId); indvidual.Is_Approved = (int)Approval.Pending; db.SaveChanges(); transaction.Commit(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:"); } throw; } catch (Exception ex) { transaction.Rollback(); ExceptionDispatchInfo.Capture(ex).Throw(); } } return(vm.IndividualEducationlevelID); }