public void Leido(ConceptStatusLogViewModel oConceptStatusLogViewModel) { if (oRepositorioConceptStatusLog.VerificarLeido(oConceptStatusLogViewModel.concept_id, oConceptStatusLogViewModel.user_id_created.Value)) { return; } using (var scope = new TransactionScope()) { concepts_status_logs oconcepts_status_logs = new concepts_status_logs(); oconcepts_status_logs.concept_status_log_id = 0; oconcepts_status_logs.concept_id = oConceptStatusLogViewModel.concept_id; oconcepts_status_logs.concept_status_id = 4; oconcepts_status_logs.date_created = DateTime.Now; oconcepts_status_logs.user_id_created = oConceptStatusLogViewModel.user_id_created; oRepositorioConceptStatusLog.Add(oconcepts_status_logs); int NumeroCalificaciones = oRepositorio.NumeroCalificaciones(oConceptStatusLogViewModel.concept_id); int concept_status_id = 4; if (NumeroCalificaciones == 0) { concepts oconcepts = oRepositorio.FindById(oConceptStatusLogViewModel.concept_id); oconcepts.concept_status_id = concept_status_id; oRepositorio.Update(oconcepts); } oUnitOfWork.SaveChanges(); scope.Complete(); } }
public void ActualizarStatus(ConceptStatusLogViewModel oConceptStatusLogViewModel) { using (var scope = new TransactionScope()) { concepts oconcepts = oRepositorio.FindById(oConceptStatusLogViewModel.concept_id); oconcepts.concept_status_id = oConceptStatusLogViewModel.concept_status_id; oRepositorio.Update(oconcepts); concepts_status_logs oconcepts_status_logs = new concepts_status_logs(); oconcepts_status_logs.concept_status_log_id = 0; oconcepts_status_logs.concept_id = oConceptStatusLogViewModel.concept_id; oconcepts_status_logs.reason_reject_id = oConceptStatusLogViewModel.reason_reject_id == 0 ? null : oConceptStatusLogViewModel.reason_reject_id; oconcepts_status_logs.concept_status_id = oConceptStatusLogViewModel.concept_status_id; oconcepts_status_logs.date_created = DateTime.Now; oconcepts_status_logs.user_id_created = oConceptStatusLogViewModel.user_id_created; oconcepts_status_logs.description = oConceptStatusLogViewModel.description; oRepositorioConceptStatusLog.Add(oconcepts_status_logs); if (oConceptStatusLogViewModel.speakers != null && oConceptStatusLogViewModel.speakers.Count > 0) { foreach (int user_id in oConceptStatusLogViewModel.speakers) { concept_debate_speakers oconcept_debate_speakers = new concept_debate_speakers(); oconcept_debate_speakers.concept_id = oConceptStatusLogViewModel.concept_id; oconcept_debate_speakers.user_id = user_id; oconcept_debate_speakers.date_created = DateTime.Now; oconcept_debate_speakers.user_id_created = oConceptStatusLogViewModel.user_id_created; oRepositorioConceptDebateSpeaker.Add(oconcept_debate_speakers); } } oUnitOfWork.SaveChanges(); scope.Complete(); } }
public void Calificar(ConceptStatusLogViewModel oConceptStatusLogViewModel) { using (var scope = new TransactionScope()) { concepts_status_logs oconcepts_status_logs = new concepts_status_logs(); oconcepts_status_logs.concept_status_log_id = 0; oconcepts_status_logs.concept_id = oConceptStatusLogViewModel.concept_id; oconcepts_status_logs.concept_status_id = 5; oconcepts_status_logs.date_created = DateTime.Now; oconcepts_status_logs.user_id_created = oConceptStatusLogViewModel.user_id_created; oconcepts_status_logs.qualification = oConceptStatusLogViewModel.qualification; oRepositorioConceptStatusLog.Add(oconcepts_status_logs); oUnitOfWork.SaveChanges(); List <ConceptStatusLogViewModel> calificaciones = oRepositorioConceptStatusLog.ObtenerCalificaciones(oConceptStatusLogViewModel.concept_id); int NumeroPonentes = oRepositorio.NumeroPonentes(oConceptStatusLogViewModel.concept_id); int NumeroCalificaciones = calificaciones != null?calificaciones.Count() : 0; int concept_status_id = 5; if (NumeroPonentes == NumeroCalificaciones) { concept_status_id = 6; } concepts oconcepts = oRepositorio.FindById(oConceptStatusLogViewModel.concept_id); oconcepts.concept_status_id = concept_status_id; oconcepts.certification_path = oConceptStatusLogViewModel.certification_path; if (NumeroCalificaciones > 0) { double qualification = calificaciones.Select(a => a.qualification).ToList().Average(); oconcepts.qualification = Math.Round(qualification, 2); } oRepositorio.Update(oconcepts); oUnitOfWork.SaveChanges(); scope.Complete(); } }