public ModelResponse PostNewTrainingInformation(UserInfo user, ref TrainingandCertificationVm 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.StartDate.ToShortDateString())) { return(new ModelResponse(1)); } if (string.IsNullOrWhiteSpace(vm.EndDate.ToShortDateString())) { return(new ModelResponse(1)); } if (vm.trainingname.IsNullOrWhiteSpace()) { return(new ModelResponse(1)); } if (vm.TrainingProvider.IsNullOrWhiteSpace()) { return(new ModelResponse(1)); } if (!validateOnly) { Repo.PostNewTrainingInformation(user, ref vm); } } catch (Exception ex) { return(new ModelResponse(ex)); } return(new ModelResponse(0, vm.IndividualTrainingID)); }
public long PostNewTrainingInformation(UserInfo user, ref TrainingandCertificationVm vm) { using (var db = new LMISEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var id = vm.IndividualTrainingID; if (id > 0) //Update { var tr = db.IndividualTrainingDetails .Where(r => r.IsDeleted == null && r.IndividualTrainingID == id) .ToList().Single(); tr.TrainingStartDate = vm.StartDate; tr.TrainingEndDate = vm.EndDate; tr.PostDate = DateTime.Now; tr.UpdateDate = DateTime.UtcNow; tr.UpdateUserID = user.UserId; //Delete detail records var dr = db.IndividualTrainingDetails_Det .Where(r => r.IndividualTrainingID == id) .ToList(); db.IndividualTrainingDetails_Det.RemoveRange(dr); } else //Insert { var tr = new IndividualTrainingDetail { TrainingStartDate = vm.StartDate, TrainingEndDate = vm.EndDate, PortalUsersID = user.PortalUserId, PostDate = System.DateTime.Now, PostUserID = user.UserId }; db.IndividualTrainingDetails.Add(tr); db.SaveChanges(); vm.IndividualTrainingID = (long)tr.IndividualTrainingID; } //Insert detail records var mdr = new IndividualTrainingDetails_Det(); var ds = Utils.MultilingualDataSet( new Dictionary <string, GlobalString> { { "c1", vm.trainingname }, { "c2", vm.TrainingProvider }, }); foreach (var r in ds) { db.IndividualTrainingDetails_Det.Add(new IndividualTrainingDetails_Det() { IndividualTrainingID = vm.IndividualTrainingID, LanguageID = r["c1"].L, TrainingName = r["c1"].T, TrainingProviderName = r["c2"].T }); } 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.IndividualTrainingID); }
public long PostNewCertificationInformation(UserInfo user, ref TrainingandCertificationVm vm) { using (var db = new LMISEntities()) using (var transaction = db.Database.BeginTransaction()) { try { var id = vm.IndividualCertificationID; if (id > 0) //Update { var tr = db.IndividualCertificationDetails .Where(r => r.IsDeleted == null && r.IndividualCertificationID == id) .ToList().Single(); tr.CertificateIssueDate = vm.CertificationIssueDate; tr.CertificateValidUntil = vm.CertificationValidUntil; tr.PostDate = DateTime.Now; tr.UpdateDate = DateTime.UtcNow; tr.UpdateUserID = user.UserId; //Delete detail records var dr = db.IndividualCertificationDetails_Det .Where(r => r.IndividualCertificationID == id) .ToList(); db.IndividualCertificationDetails_Det.RemoveRange(dr); } else //Insert { var tr = new IndividualCertificationDetail { CertificateValidUntil = vm.CertificationValidUntil, CertificateIssueDate = vm.CertificationIssueDate, PortalUsersID = user.PortalUserId, PostDate = System.DateTime.Now, PostUserID = user.UserId }; db.IndividualCertificationDetails.Add(tr); db.SaveChanges(); vm.IndividualCertificationID = (long)tr.IndividualCertificationID; } var mdr = new IndividualCertificationDetails_Det(); var ds = Utils.MultilingualDataSet( new Dictionary <string, GlobalString> { { "c1", vm.CertificationName } }); foreach (var r in ds) { db.IndividualCertificationDetails_Det.Add(new IndividualCertificationDetails_Det() { IndividualCertificationID = vm.IndividualCertificationID, LanguageID = r["c1"].L, CertificateName = r["c1"].T }); } var indvidual = db.IndividualDetails.Single(s => s.PortalUsersID == user.PortalUserId); indvidual.Is_Approved = (int)Approval.Pending; db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); ExceptionDispatchInfo.Capture(ex).Throw(); } } return(vm.IndividualCertificationID); }
public static object PostNewTrainingInformation(TrainingandCertificationVm data, bool validateOnly) { var mr = Mgr.PostNewTrainingInformation(Utils.LoggedUser, ref data, validateOnly); return(Utils.ServiceResponse(PageCode, mr)); }