async Task IDataInjector.UpdateCitaProgramacion(Ekilibrate.Model.Entity.Administrador.clsCitaProgramacion Data) { using (var scope = Ekilibrate.Data.Access.Common.ContainerConfig.ProxyContainer.BeginLifetimeScope("a")) { try { var objController = new Ekilibrate.BL.Controller.Administrador.clsCitaProgramacion(scope); await objController.Reprograma_update(Data); var DBContext = scope.Resolve <DBTrnContext>(); DBContext.CommitTransaction(); objController = new Ekilibrate.BL.Controller.Administrador.clsCitaProgramacion(scope); await objController.Reprograma_Insert(Data); DBContext = scope.Resolve <DBTrnContext>(); DBContext.CommitTransaction(); } catch (FaultException ex) { throw ex; } catch (Exception ex) { //var objController = new Ekilibrate.BL.Common.clsLog(scope); //objController.GuardarLog(ex); throw new FaultException("Error al registrar los datos del seguimiento."); } } }
public async Task <ActionResult> Reprograma(string Fe, string Par, string Nu, string Ci, string Pr, string Ho, string Mi, string Ho2, string Mi2) { try { if (Fe != null) { Ekilibrate.Model.Entity.Administrador.clsCitaProgramacion reprogramacion = new Ekilibrate.Model.Entity.Administrador.clsCitaProgramacion(); using (var scope = EkilibrateUI.Autofac.ContainerConfig.ProxyContainer.BeginLifetimeScope()) { string[] Fechasplit = Fe.Split('-'); DateTime fechaProgramada = new DateTime(Convert.ToInt16(Fechasplit[2]), Convert.ToInt16(Fechasplit[1]), Convert.ToInt16(Fechasplit[0])); reprogramacion.Id = Convert.ToInt32(Pr); reprogramacion.CitaId = Convert.ToInt32(Ci); reprogramacion.Cancelada = true; reprogramacion.NutricionistaId = Convert.ToInt32(Nu); reprogramacion.Fecha = fechaProgramada; reprogramacion.FechaInicio = new DateTime(Convert.ToInt16(Fechasplit[2]), Convert.ToInt16(Fechasplit[1]), Convert.ToInt16(Fechasplit[0]), Convert.ToInt16(Ho), Convert.ToInt16(Mi), 0); reprogramacion.FechaFin = new DateTime(Convert.ToInt16(Fechasplit[2]), Convert.ToInt16(Fechasplit[1]), Convert.ToInt16(Fechasplit[0]), Convert.ToInt16(Ho2), Convert.ToInt16(Mi2), 0); if (reprogramacion.FechaInicio < reprogramacion.FechaFin) { var middleTier = scope.Resolve <Ekilibrate.Model.Services.Nutricionista.IDataInjector>(); await middleTier.UpdateCitaProgramacion(reprogramacion); } else { //error en horario } } } else { //No puede reprogramar cita el mismo día } return(View("Index")); } catch (Exception) { throw; } }