Пример #1
0
        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();
            }
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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();
            }
        }