public CommandResult Delete(TrainingInfo command) { try { string result = ""; TrainingInfo teacherProfile = new TrainingInfo(); Tools.CopyClass(teacherProfile, command); var IsExist = unitOfWork.GenericRepositories <TrainingInfo>().FindBy(x => x.RecordID == command.RecordID).FirstOrDefault(); if (IsExist != null) { var IsExistsTopic = unitOfWork.GenericRepositories <TrainingInfoTopic>().FindBy(x => x.TrainingId == IsExist.TrainingId).ToList(); var IsExistsMaterial = unitOfWork.GenericRepositories <TrainingInfoMaterial>().FindBy(x => x.TrainingId == IsExist.TrainingId).ToList(); unitOfWork.GenericRepositories <TrainingInfoTopic>().DeleteAll(IsExistsTopic); unitOfWork.GenericRepositories <TrainingInfoMaterial>().DeleteAll(IsExistsMaterial); unitOfWork.GenericRepositories <TrainingInfo>().Delete(teacherProfile); result = unitOfWork.SaveChange(); LogEventStore(teacherProfile.RecordID.ToString(), "TrainingInfo", "Delete"); } return(new CommandResult() { Success = result != "" ? false : true, Status = result != "" ? 400 : 200, Message = result != "" ? result : "Record Saved successfully.", ServerRecordId = teacherProfile.RecordID, RecordId = command.RecordID }); } catch (Exception ex) { return(new CommandResult() { Success = false, Status = 400, Message = ex.Message, RecordId = command.RecordID }); } }
public CommandResult Save(TrainingInfo command, List <TrainingInfoMaterial> materials, List <TrainingInfoTopic> topics) { try { string result = ""; TrainingInfo trainingInfo = new TrainingInfo(); Tools.CopyClass(trainingInfo, command); var IsExist = unitOfWork.GenericRepositories <TrainingInfo>().FindBy(x => x.RecordID == command.RecordID).FirstOrDefault(); if (IsExist == null) { trainingInfo.Status = 1; trainingInfo.TrainingId = "1"; unitOfWork.GenericRepositories <TrainingInfo>().Insert(trainingInfo); result = unitOfWork.SaveChange(); var IsExists = unitOfWork.GenericRepositories <TrainingInfo>().FindBy(x => x.TrainingId == command.TrainingId).FirstOrDefault(); foreach (var item in topics) { string sql = "SELECT * FROM TrainingTopic WHERE TopicId='" + item.TopicId + "'"; var topic = unitOfWork.GetDataTable(sql); TrainingInfoTopic topicinfo = new TrainingInfoTopic(); Tools.CopyClass(topicinfo, item); topicinfo.TrainingId = trainingInfo.TrainingId; topicinfo.TopicType = topic.Rows[0]["TopicType"].ToString(); unitOfWork.GenericRepositories <TrainingInfoTopic>().Insert(topicinfo); } foreach (var item in materials) { string sql = "SELECT * FROM TrainingMaterial WHERE MaterialId='" + item.MaterialId + "'"; var material = unitOfWork.GetDataTable(sql); TrainingInfoMaterial materialinfo = new TrainingInfoMaterial(); Tools.CopyClass(materialinfo, item); materialinfo.TrainingId = trainingInfo.TrainingId; materialinfo.MaterialType = material.Rows[0]["MaterialType"].ToString(); unitOfWork.GenericRepositories <TrainingInfoMaterial>().Insert(materialinfo); } result = unitOfWork.SaveChange(); LogEventStore(trainingInfo.RecordID.ToString(), "TrainingInfo", "Save"); } else { trainingInfo.RecordID = IsExist.RecordID; trainingInfo.Status = 1; unitOfWork.GenericRepositories <TrainingInfo>().Update(trainingInfo); unitOfWork.GenericRepositories <TrainingInfoTopic>().Delete(trainingInfo.TrainingId); unitOfWork.GenericRepositories <TrainingInfoMaterial>().Delete(trainingInfo.TrainingId); foreach (var item in topics) { string sql = "SELECT * FROM TrainingTopic WHERE TopicId='" + item.TopicId + "'"; var topic = unitOfWork.GetDataTable(sql); TrainingInfoTopic topicinfo = new TrainingInfoTopic(); Tools.CopyClass(topicinfo, item); topicinfo.TrainingId = trainingInfo.TrainingId; topicinfo.TopicType = topic.Rows[0]["TopicType"].ToString(); unitOfWork.GenericRepositories <TrainingInfoTopic>().Insert(topicinfo); } foreach (var item in materials) { string sql = "SELECT * FROM TrainingMaterial WHERE MaterialId='" + item.MaterialId + "'"; var material = unitOfWork.GetDataTable(sql); TrainingInfoMaterial materialinfo = new TrainingInfoMaterial(); Tools.CopyClass(materialinfo, item); materialinfo.TrainingId = trainingInfo.TrainingId; materialinfo.MaterialType = material.Rows[0]["MaterialType"].ToString(); unitOfWork.GenericRepositories <TrainingInfoMaterial>().Insert(materialinfo); } result = unitOfWork.SaveChange(); LogEventStore(trainingInfo.RecordID.ToString(), "TrainingInfo", "Update"); } return(new CommandResult() { Success = result != "" ? false : true, Status = result != "" ? 400 : 200, Message = result != "" ? result : "Record Saved successfully.", ServerRecordId = trainingInfo.RecordID, RecordId = command.RecordID }); } catch (Exception ex) { return(new CommandResult() { Success = false, Status = 400, Message = ex.Message, RecordId = command.RecordID }); } }