public async Task <Payment> InsertPaymentMasterAsync(string Id) { Payment payment; //RegistrationViewModel model; var registrationMasterData = (await dapperService.GetAllRegistrationDetailsAsync()).FirstOrDefault(f => f.RefNo == Id); if (registrationMasterData != null) { payment = new Payment() { UniqueId = Guid.NewGuid().ToString().GetHashCode().ToString("x"), RegPayId = 0, RefNo = registrationMasterData.RefNo, OrderId = registrationMasterData.RefNo.ToString() + DateTime.Now.ToString("ddMMyyyyhhmm"), Fee = 1200, ServiceCharge = 50, TotalFee = 1250, PaidStatus = 0, PaidBy = "USER", PaidOn = DateTime.Now }; await dbContext.PaymentMaster.AddAsync(payment); var result = await dbContext.SaveChangesAsync(); return(await GetPaymentMasterByOrderIdAsync(payment.OrderId)); } return(null); }
public async Task <string> InsertRegistrationFormDataAsync(RegistrationViewModel model) { if (model != null) { var Course = await dbContext.CourseMaster.FirstOrDefaultAsync(f => f.CourseName == model.CourseName); var refNo = await GenerateUniqueRefNo(Course.Id); using (var transaction = dbContext.Database.BeginTransaction()) { try { model.RefNo = refNo; //model.UniqueKey = Guid.NewGuid().ToString().GetHashCode().ToString("x"); string[] photoFileExt = model.PhohoFile.FileInfo.Name.Split('.'); string UniquePhotoName = $"{refNo}P.{photoFileExt[1]}"; string[] signatureFileExt = model.SignatureFile.FileInfo.Name.Split('.'); string UniqueSignatureName = $"{refNo}S.{signatureFileExt[1]}"; var registrationData = new Registration { UniqueKey = Guid.NewGuid().ToString().GetHashCode().ToString("x"), UserId = model.UserId, Name = model.Name, FatherName = model.FatherName, MotherName = model.MotherName, Dob = model.Dob, MobileNo = model.MobileNo, EmailAddress = model.EmailAddress, Gender = model.Gender, Year = model.Year, ExamCenter = model.ExamCenter, CourseName = Course.Id, StudentGroup = model.StudentGroup, MaritalStatus = model.MaritalStatus, Nationality = model.Nationality, IsDomicileOfUttarakhand = model.IsDomicileOfUttarakhand, Category = model.Category, IsFreedomFighter = model.IsFreedomFighter, IsDefencePersonal = model.IsDefencePersonal, IsPhysicallyChallenged = model.IsPhysicallyChallenged, PhysicallyChallengedType = model.PhysicallyChallengedType, IsPunishedByCourt = model.IsPunishedByCourt, IsDebarredByUniversity = model.IsDebarredByUniversity, StateName = model.StateName, Address = model.Address, City = model.City, Pincode = model.Pincode, PhotoPath = UniquePhotoName, SignaturePath = UniqueSignatureName, IsEconomicallyWeakerSection = model.IsEconomicallyWeakerSection, RefNo = refNo, CreatedBy = model.UserId, CreatedTimeStamp = DateTime.Now, IsAppearing = model.IsAppearing, IsKumaunUniversity = model.IsKumaunUniversity }; var allQualifyingType = await dbContext.QualifyingTypeMaster.ToListAsync(); List <QualifyingExam> liQualifyingExam = new List <QualifyingExam>(); QualifyingType qualifyingType = new QualifyingType(); if (Course.Id == "B.Ed") { if (!string.IsNullOrEmpty(model.GradutionName)) { qualifyingType = allQualifyingType.FirstOrDefault(f => f.QualifyingTypeName == "Graduation"); liQualifyingExam.Add(new QualifyingExam { UniqueId = Guid.NewGuid().ToString().GetHashCode().ToString("x"), RefNo = refNo, CourseName = Course.Id, QualifyingType = qualifyingType.Id.ToString(), Name = model.GradutionName, Stream = model.GradutionStream, University = model.GradutionUniversity, PassingYear = model.GradutionPassingYear, MaxMarks = model.GradutionMaxMarks, ObtMarks = model.GradutionObtMarks, PercentageMarks = model.GradutionPercentageMarks, TimeStamp = DateTime.Now }); } if (!string.IsNullOrEmpty(model.PGradutionUniversity)) { qualifyingType = allQualifyingType.FirstOrDefault(f => f.QualifyingTypeName == "Post Graduation"); liQualifyingExam.Add(new QualifyingExam { UniqueId = Guid.NewGuid().ToString().GetHashCode().ToString("x"), RefNo = refNo, CourseName = Course.Id, QualifyingType = qualifyingType.Id.ToString(), Name = model.PostGradutionName, Stream = model.PGradutionStream, University = model.PGradutionUniversity, PassingYear = model.PGradutionPassingYear, MaxMarks = model.PGradutionMaxMarks, ObtMarks = model.PGradutionObtMarks, PercentageMarks = model.PGradutionPercentageMarks, TimeStamp = DateTime.Now }); } } else { qualifyingType = allQualifyingType.FirstOrDefault(f => f.QualifyingTypeName == "Theory Exam"); liQualifyingExam.Add(new QualifyingExam { UniqueId = Guid.NewGuid().ToString().GetHashCode().ToString("x"), RefNo = refNo, CourseName = Course.Id, QualifyingType = qualifyingType.Id.ToString(), Name = model.TheoryExamName, Stream = string.Empty, University = model.M_EdExamUniversity, PassingYear = model.M_EdExamPassingYear, MaxMarks = model.TheoryExamMaxMarks, ObtMarks = model.TheoryExamObtMarks, PercentageMarks = model.M_EdTotalPercentage, // This Column for this condition (Percentage should be calculate to addition of Both Theory & Practical Exam Marks) TimeStamp = DateTime.Now }); qualifyingType = allQualifyingType.FirstOrDefault(f => f.QualifyingTypeName == "Practical Exam"); liQualifyingExam.Add(new QualifyingExam { UniqueId = Guid.NewGuid().ToString().GetHashCode().ToString("x"), RefNo = refNo, CourseName = Course.Id, QualifyingType = qualifyingType.Id.ToString(), Name = model.PracticalExamName, Stream = string.Empty, University = model.M_EdExamUniversity, PassingYear = model.M_EdExamPassingYear, MaxMarks = model.PracticalExamMaxMarks, ObtMarks = model.PracticalExamObtMarks, PercentageMarks = model.M_EdTotalPercentage, // This Column for this condition (Percentage should be calculate to addition of Both Theory & Practical Exam Marks) TimeStamp = DateTime.Now }); } await dbContext.RegistrationMaster.AddAsync(registrationData); var result = await dbContext.SaveChangesAsync(); if (result > 0) { int counter = 0; foreach (var examDetails in liQualifyingExam) { await dbContext.QualifyingExamMaster.AddAsync(examDetails); var returnData = await dbContext.SaveChangesAsync(); if (returnData > 0) { counter = counter + 1; } } if (counter == liQualifyingExam.Count) { // Upload Phote UploadImageFiles(model.PhohoFile, "Photos", UniquePhotoName); // Upload Signature UploadImageFiles(model.SignatureFile, "Signature", UniqueSignatureName); await transaction.CommitAsync(); return("success"); } } else { await transaction.RollbackAsync(); return("failure"); } } catch (Exception ex) { await transaction.RollbackAsync(); return("failure"); //return ex.Message; } } } return("failure"); }