public JsonResult Create(StudentMasterVM studentMasterVM)
        {
            studentMasterVM.IsActive  = 1;
            studentMasterVM.CreatedBy = 1;
            studentMasterVM.Id        = Convert.ToInt32(TempData["Id"]);
            var result = _studentMasterRepository.UpSertStudentMaster(studentMasterVM);

            return(Json(result));
        }
        public string UpSertStudentMaster(StudentMasterVM studentMasterVM)
        {
            try
            {
                int studentId = 0;
                var result    = ConvertSourceToDest <StudentMasterVM, Core.StudentMaster> .ConvertSourceToDestination(studentMasterVM);

                if (studentMasterVM.Id == 0)
                {
                    using (dB_SPADevelopementEntities)
                    {
                        using (var transaction = dB_SPADevelopementEntities.Database.BeginTransaction())
                        {
                            try
                            {
                                result.CreatedDate = DateTime.Now.Date;
                                dB_SPADevelopementEntities.StudentMasters.Add(result);
                                dB_SPADevelopementEntities.SaveChanges();
                                studentId = result.Id;


                                StudentClassMapping studentClassMapping = new StudentClassMapping();
                                studentClassMapping.StudentId    = studentId;
                                studentClassMapping.AcademicYear = 1;
                                studentClassMapping.classId      = result.ClassId;
                                studentClassMapping.sectionId    = result.SectionId;
                                studentClassMapping.CreatedBy    = result.CreatedBy;
                                studentClassMapping.CreatedDate  = DateTime.Now.Date;

                                dB_SPADevelopementEntities.StudentClassMappings.Add(studentClassMapping);
                                dB_SPADevelopementEntities.SaveChanges();



                                transaction.Commit();
                            }
                            catch (Exception ex)
                            {
                                transaction.Rollback();
                            }
                        }
                    }
                }
                //this code is used to perform the Student Master Update:
                else
                {
                    using (dB_SPADevelopementEntities)
                    {
                        using (var transaction = dB_SPADevelopementEntities.Database.BeginTransaction())
                        {
                            try
                            {
                                dB_SPADevelopementEntities.Entry(result).State = System.Data.Entity.EntityState.Modified;
                                dB_SPADevelopementEntities.SaveChanges();

                                StudentClassMapping studentClassMapping = dB_SPADevelopementEntities.StudentClassMappings.Where(item => item.StudentId == result.Id).FirstOrDefault();
                                studentClassMapping.AcademicYear = studentMasterVM.AcademicYear;
                                studentClassMapping.classId      = studentMasterVM.ClassId;
                                studentClassMapping.sectionId    = studentMasterVM.SectionId;
                                studentClassMapping.StudentId    = result.Id;
                                studentClassMapping.UpdatedBy    = result.CreatedBy;
                                studentClassMapping.UpdatedDate  = DateTime.Now.Date;

                                dB_SPADevelopementEntities.Entry(studentClassMapping).State = System.Data.Entity.EntityState.Modified;
                                dB_SPADevelopementEntities.SaveChanges();

                                transaction.Commit();
                            }
                            catch (Exception ex)
                            {
                                transaction.Rollback();
                                return(ex.Message);
                            }
                        }
                    }
                }

                return("Student created successfully");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }