public CommonDetail AddCommonDetail(CommonDetail commonDetail) { var result = unitOfWork.CommonDetailRepository.Insert(commonDetail); unitOfWork.Save(); return(result); }
public void UpdateCommonDetail(CommonDetail commonDetail) { unitOfWork.CommonDetailRepository.Update(commonDetail); unitOfWork.Save(); }
public async Task <IHttpActionResult> PostTrainerPersonalDetails(TrainerPersonalDTO trainerPersonalDetails) { var user = await db.Users.Where(x => x.Email == trainerPersonalDetails.email).SingleOrDefaultAsync(); if (user == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "User Not Found, Please perform SignUp/Register"))); } //Check if trainer application detail exist-In case he/she has partially filled the apllictaion form var trainerDb = db.Trainers.SingleOrDefault(x => x.UserID == user.Id); if (trainerDb != null) { var CommDetail = db.CommonDetails.Where(x => x.ID == trainerDb.CommonDetailID).SingleOrDefault(); CommDetail.Address = trainerPersonalDetails.address; CommDetail.state = trainerPersonalDetails.state; CommDetail.City = trainerPersonalDetails.City; //CommDetail.DOB = DateTime.ParseExact(trainerPersonalDetails.dob, "dd/MM/YYYY", CultureInfo.InvariantCulture); CommDetail.DOB = Convert.ToDateTime(trainerPersonalDetails.dob); CommDetail.PINCode = trainerPersonalDetails.PINCode; db.Entry(CommDetail).State = EntityState.Modified; try { var result = await db.SaveChangesAsync(); trainerPersonalDetails.CommonDetailID = CommDetail.ID; trainerPersonalDetails.TrainerId = trainerDb.TrainerId; return(Ok(trainerPersonalDetails)); } catch (Exception ex) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message))); } } else { CommonDetail commonDetailObj = new CommonDetail() { ID = Guid.NewGuid().ToString(), Address = trainerPersonalDetails.address, AcademicYear = null, DOB = Convert.ToDateTime(trainerPersonalDetails.dob), Department = String.Empty, Grade = null, Photo = null, HighestQualification = String.Empty, state = trainerPersonalDetails.state, City = trainerPersonalDetails.City, PINCode = trainerPersonalDetails.PINCode }; Trainer trainerObj = new Trainer() { TrainerId = Guid.NewGuid().ToString(), UserID = user.Id, //FirstName = null,//TODO: Need to remove since user table already contain firstname //LastName = null,//TODO: Need to remove since user table already contain lastname CommonDetailID = commonDetailObj.ID, TypeId = null, RatingId = null, StatusId = null, IsVerified = false }; TrainerDetail trainerDetailObj = new TrainerDetail() { TrDetailId = Guid.NewGuid().ToString(), TrainerId = trainerObj.TrainerId, Experience = null, Companies = null, SkillSet = null, TeachingExperience = null, TeachingReason = null, SocialMediaId = null }; using (DbContextTransaction transaction = db.Database.BeginTransaction()) { try { db.CommonDetails.Add(commonDetailObj); db.Trainers.Add(trainerObj); db.TrainerDetails.Add(trainerDetailObj); var result = await db.SaveChangesAsync(); transaction.Commit(); trainerPersonalDetails.CommonDetailID = commonDetailObj.ID; trainerPersonalDetails.TrainerId = trainerObj.TrainerId; return(Ok(trainerPersonalDetails)); } catch (Exception ex) { transaction.Rollback(); return(InternalServerError(new ApplicationException("Something went wrong in this request. internal exception: " + ex.Message))); } } } }
public async Task <IHttpActionResult> PostTrainer(TrainerDTO trainer) { var user = await db.Users.Where(x => x.Email == trainer.email).SingleOrDefaultAsync(); if (user == null) { return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.NotFound, "User Not Found, Please perform SignUp/Register"))); } //Check if trainer application detail exist-In case he/she has partially filled the apllictaion form var trainerDb = db.Trainers.SingleOrDefault(x => x.UserID == user.Id); //if (trainerDb!=null) //{ // trainerDb. //} //else //{ //} CommonDetail commonDetailObj = new CommonDetail() { ID = Guid.NewGuid().ToString(), Address = trainer.address, AcademicYear = Convert.ToDateTime(trainer.academicYear), DOB = Convert.ToDateTime(trainer.dob), Department = trainer.department, Grade = null, Photo = null, HighestQualification = trainer.highestQualification, }; Trainer trainerObj = new Trainer() { TrainerId = Guid.NewGuid().ToString(), UserID = user.Id, //FirstName = trainer.firstName, //LastName = trainer.lastName, CommonDetailID = commonDetailObj.ID, TypeId = null, RatingId = null, StatusId = null, IsVerified = false }; TrainerDetail trainerDetailObj = new TrainerDetail() { TrDetailId = Guid.NewGuid().ToString(), TrainerId = trainerObj.TrainerId, Experience = trainer.industrialExp, Companies = trainer.companies, SkillSet = trainer.skillSet, TeachingExperience = trainer.teachingExp, TeachingReason = null, SocialMediaId = trainer.socialMediaLink }; try { db.CommonDetails.Add(commonDetailObj); db.Trainers.Add(trainerObj); db.TrainerDetails.Add(trainerDetailObj); var result = await db.SaveChangesAsync(); return(CreatedAtRoute("DefaultApi", new { id = trainerObj.TrainerId }, trainerObj)); } catch (DbUpdateException ex) { throw ex; } catch (Exception ex) { throw ex; } }