public Boolean addEmployee(Employee emp, int SchoolId, string addrproof, string cvpath) { using (var transaction = db.Database.BeginTransaction()) { try { int idUser = 0; int userexist = 0; string strEmpEmail = ""; string strUserName = ""; string strDisplayName = ""; if (emp.Email != null) { var qryuser = db.AspNetUsers.Where(x => x.Email == emp.Email).FirstOrDefault(); if (qryuser != null) { userexist = Convert.ToInt32(qryuser.IdUser); } strEmpEmail = emp.Email; } //else //{ // strEmpEmail = emp.first_name.ToLower() + "." + emp.last_name.ToLower() + "@schoolorbit.com"; //} if (userexist > 0) { idUser = userexist; } else { strUserName = emp.first_name.Substring(0, 1).ToLower() + "" + emp.last_name.Substring(0, 1).ToLower(); if (emp.screen_name != null) { strDisplayName = emp.screen_name; } else { strDisplayName = emp.first_name + " " + emp.last_name; } //var user = new ApplicationUser { UserName = strUserName, Email = strEmpEmail, Displayname = strDisplayName }; //var result = await UserManager.CreateAsync(user, "Employee@123"); //if (result.Succeeded) //{ // var qryUser = db.AspNetUsers.Find(user.Id); // idUser = qryUser.IdUser; // qryUser.UserName = qryUser.UserName + (idUser + 1000); // insert into UserAccount table DataModel.sys_user useraccnt = new DataModel.sys_user(); useraccnt.active = true; useraccnt.allergic = emp.allergic; useraccnt.blood_group = emp.blood_group; useraccnt.DOB = emp.DOB; useraccnt.first_name = emp.first_name; useraccnt.gender = emp.gender; // useraccnt.Id = idUser; useraccnt.last_name = emp.last_name; useraccnt.middle_name = emp.middle_name; useraccnt.permanent_address = emp.permanent_address; useraccnt.permanent_city = emp.permanent_city; useraccnt.permanent_country = emp.permanent_country; useraccnt.permanent_state = emp.permanent_state; useraccnt.permanent_zip_code = emp.permanent_zip_code; useraccnt.photo_url = "/pictures/default-avatar.png"; useraccnt.present_address = emp.present_address; useraccnt.present_city = emp.present_city; useraccnt.present_country = emp.present_country; useraccnt.present_state = emp.present_state; useraccnt.present_zip_code = emp.present_zip_code; useraccnt.screen_name = strDisplayName; useraccnt.aadhaar_number = emp.AdharNumber; useraccnt.contact_number = emp.mobilenumber; useraccnt.contact_number_alternate = emp.AlternateNumber; db.sys_user.Add(useraccnt); db.SaveChanges(); if (strEmpEmail != "") // this condition has been added to check if Employee has a valid email to create user login. { UserLogin Login = new UserLogin(); strUserName = strUserName + useraccnt.Id; var res = Login.CreateUser(useraccnt.Id, UserLogin.LoginUserType.employee, strEmpEmail, strUserName); } DataModel.sch_employee Employ = new DataModel.sch_employee(); Employ.idDepartment = Convert.ToInt32(emp.department_name); Employ.BankAccountNo = emp.BankAccountNo; Employ.BankName = emp.BankName; Employ.designation = emp.designation; Employ.employee_number = emp.employee_number; Employ.ESIPFNumber = emp.ESIPFNumber; Employ.IFSCCode = emp.IFSCCode; Employ.ManagerID = emp.ManagerID; Employ.PanNumber = emp.PanNumber; Employ.PassingYear = emp.PassingYear; Employ.Qualification = emp.Qualification; //Employ.AdharNumber = emp.AdharNumber; //Employ.mobilenumber = emp.mobilenumber; //Employ.AlternateNumber = emp.AlternateNumber; Employ.University = emp.University; Employ.WorkEndDate = emp.WorkEndDate; Employ.WorkStartDate = emp.WorkStartDate; Employ.is_active = true; // End // School Id should come Roles Employ.idSchool = SchoolId; // end Employ.idUser = useraccnt.Id; if (addrproof != "") { Employ.addressproof_path = addrproof; } if (cvpath != "") { Employ.cv_path = cvpath; } db.sch_employee.Add(Employ); db.SaveChanges(); } // } transaction.Commit(); return(true); } catch { transaction.Rollback(); return(false); } } }
public Boolean Addstudent(Student student, int idSchool) { using (var transaction = db.Database.BeginTransaction()) { try { string strUserName = student.first_name.Substring(0, 1).ToLower() + "" + student.last_name.Substring(0, 1).ToLower(); string strStudentEmail = ""; if (student.Email != null) { strStudentEmail = student.Email; } else { strStudentEmail = student.first_name.ToLower() + "." + student.last_name.ToLower() + "@schoolorbit.com"; } string strDisplayName = ""; if (student.screen_name != null) { strDisplayName = student.screen_name; } else { strDisplayName = student.first_name + " " + student.last_name; } string strParentEmail = ""; string strParentUserName = student.father_guardian_phone_no; if (student.father_guardian_email != null) { strParentEmail = student.father_guardian_email; } else { strParentEmail = student.father_guardian_first_name.ToLower() + "." + student.father_guardian_last_name + "@schoolorbit.com"; } DataModel.sys_user useraccnt = new DataModel.sys_user(); useraccnt.active = true; useraccnt.allergic = student.allergic; useraccnt.blood_group = student.blood_group; useraccnt.DOB = student.DOB; useraccnt.first_name = student.first_name; useraccnt.gender = student.gender; useraccnt.last_name = student.last_name; useraccnt.middle_name = student.middle_name; useraccnt.paediatrician_details = student.paediatrician_details; useraccnt.permanent_address = student.permanent_address; useraccnt.permanent_city = student.permanent_city; useraccnt.permanent_country = student.permanent_country; useraccnt.permanent_state = student.permanent_state; useraccnt.permanent_zip_code = student.permanent_zip_code; useraccnt.photo_url = "/pictures/default-avatar.png"; useraccnt.present_address = student.present_address; useraccnt.present_city = student.present_city; useraccnt.present_country = student.present_country; useraccnt.present_state = student.present_state; useraccnt.present_zip_code = student.present_zip_code; useraccnt.screen_name = strDisplayName; db.sys_user.Add(useraccnt); db.SaveChanges(); //Create Login for Student UserLogin Login = new UserLogin(); strUserName = strUserName + useraccnt.Id; var res = Login.CreateUser(useraccnt.Id, UserLogin.LoginUserType.student, strStudentEmail, strUserName); //check parent already exists var xuser = db.sch_parent.Where(x => x.father_guardian_email == student.father_guardian_email).FirstOrDefault(); DataModel.sys_user prntuseraccnt = new DataModel.sys_user(); if (xuser == null) { prntuseraccnt.active = true; prntuseraccnt.DOB = Convert.ToDateTime("1900/01/01"); prntuseraccnt.first_name = student.father_guardian_first_name; prntuseraccnt.gender = "M"; prntuseraccnt.last_name = student.father_guardian_last_name; prntuseraccnt.permanent_address = student.permanent_address; prntuseraccnt.permanent_city = student.permanent_city; prntuseraccnt.permanent_country = student.permanent_country; prntuseraccnt.permanent_state = student.permanent_state; prntuseraccnt.permanent_zip_code = student.permanent_zip_code; prntuseraccnt.photo_url = "/pictures/default-avatar.png"; prntuseraccnt.present_address = student.present_address; prntuseraccnt.present_city = student.present_city; prntuseraccnt.present_country = student.present_country; prntuseraccnt.present_state = student.present_state; prntuseraccnt.present_zip_code = student.present_zip_code; prntuseraccnt.screen_name = student.father_guardian_first_name + " " + student.father_guardian_last_name; db.sys_user.Add(prntuseraccnt); db.SaveChanges(); //Create Login for Parent UserLogin ParentLogin = new UserLogin(); var result = ParentLogin.CreateUser(prntuseraccnt.Id, UserLogin.LoginUserType.parent, strParentEmail, strParentUserName); DataModel.sch_parent prnt = new DataModel.sch_parent(); prnt.idUser = prntuseraccnt.Id; prnt.father_guardian_email = student.father_guardian_email; prnt.father_guardian_name = student.father_guardian_first_name; prnt.father_guardian_occupation = student.father_guardian_occupation; prnt.father_guardian_phone_no = student.father_guardian_phone_no; prnt.mother_name = student.mother_name; prnt.mother_email = student.mother_email; prnt.mother_phone_no = student.mother_phone_no; prnt.mother_occupation = student.mother_occupation; prnt.ts_entered = DateTime.Now; prnt.ts_updated = DateTime.Now; db.sch_parent.Add(prnt); db.SaveChanges(); } //link parent id to student DataModel.sch_student stud = new DataModel.sch_student(); stud.admission_date = student.admission_date; // Need to put Validation for Duplicate Admission Numbers.. stud.admission_number = student.admission_number; // End // School Id should come Roles stud.idSchool = idSchool; // end stud.idUser = useraccnt.Id; stud.is_active = true; if (xuser == null) { stud.idParent = prntuseraccnt.Id; } else { stud.idParent = xuser.idUser; } stud.ts_entered = DateTime.Now; stud.ts_updated = DateTime.Now; db.sch_student.Add(stud); db.SaveChanges(); transaction.Commit(); return(true); } catch (Exception Ex) { transaction.Rollback(); return(false); throw Ex; } } }