public string AgregaPeriodo(JObject jdata) { dynamic json = jdata; string MesInicio, MesFin, AnioInicio, AnioFin, UsuarioId; var a1 = json.MesInicio; MesInicio = a1.ToObject <string>(); var b = json.MesFin; MesFin = b.ToObject <string>(); var c = json.AnioInicio; AnioInicio = c.ToObject <string>(); var d = json.AnioFin; AnioFin = d.ToObject <string>(); var e = json.UsuarioId; UsuarioId = e.ToObject <string>(); string Respuesta = "Error, consulte a su administrador."; CultureInfo culture = CultureInfo.CreateSpecificCulture("es-MX"); DateTime fechatemp; DateTime fechaInicio; DateTime fechaFin; //tomamos la fecha del primer dia del fin del periodo fechatemp = DateTime.ParseExact("01/" + RetornaMes(MesFin) + "/" + AnioFin, "dd/MM/yyyy", CultureInfo.InvariantCulture); //fechatemp = new DateTime(Convert.ToInt32(AnioFin),RetornaMes(MesFin), 1); fechaInicio = DateTime.ParseExact("01/" + RetornaMes(MesInicio) + "/" + AnioInicio, "dd/MM/yyyy", CultureInfo.InvariantCulture); //new DateTime(Convert.ToInt32(AnioInicio),RetornaMes(MesInicio), 1); fechaFin = fechatemp.AddMonths(1).AddDays(-1); try { DTO.DTOPeriodo bllPer = new DTO.DTOPeriodo(); bllPer = db.Periodo.Where(I => I.Descripcion == (MesInicio + " " + AnioInicio + " - " + MesFin + " " + AnioFin)) .Select(d2 => new DTOPeriodo { PeriodoId = d2.PeriodoId, Descripcion = d2.Descripcion }).FirstOrDefault(); if (bllPer != null && bllPer.PeriodoId > 0) { return("Periodo ya existe"); } bllPer = new DTO.DTOPeriodo(); if (MesInicio == "Agosto" && MesFin == "Enero") { if (Convert.ToInt32(AnioFin) - Convert.ToInt32(AnioInicio) == 1) { bllPer.Descripcion = MesInicio + " " + AnioInicio + " - " + MesFin + " " + AnioFin; bllPer.PeriodoId = 0; bllPer.FechaInicio = fechaInicio; bllPer.FechaFin = fechaFin; bllPer.UsuarioId = Convert.ToInt32(UsuarioId); try { db.Periodo.Add(new Periodo { //PeriodoId = Periodo.PeriodoId, Descripcion = bllPer.Descripcion, UsuarioId = bllPer.UsuarioId, FechaInicio = bllPer.FechaInicio, FechaFin = bllPer.FechaFin }); db.SaveChanges(); Respuesta = "El periodo se agrego correctamente."; } catch { } } else { Respuesta = "Periodo invalido, seleccione un periodo valido."; } } else if (MesInicio == "Febrero" && MesFin == "Julio") { if (Convert.ToInt32(AnioFin) - Convert.ToInt32(AnioInicio) == 0) { bllPer.Descripcion = MesInicio + " " + AnioInicio + " - " + MesFin + " " + AnioFin; bllPer.PeriodoId = 0; bllPer.FechaInicio = fechaInicio; bllPer.FechaFin = fechaFin; bllPer.UsuarioId = Convert.ToInt32(UsuarioId); try { db.Periodo.Add(new Periodo { //PeriodoId = Periodo.PeriodoId, Descripcion = bllPer.Descripcion, UsuarioId = bllPer.UsuarioId, FechaInicio = bllPer.FechaInicio, FechaFin = bllPer.FechaFin }); db.SaveChanges(); Respuesta = "El periodo se agrego correctamente."; } catch { } } else { Respuesta = "Periodo invalido, seleccione un periodo valido."; } } else { Respuesta = "Periodo invalido, seleccione un periodo valido."; } } catch (Exception a) { string ad = a.Message; } return(Respuesta); }
public string GuardaConfiguarionById(JObject jdata) { string ConfiguracionEncuestaId, FechaInicio, FechaFin, Estatus, UsuarioId; string Respuesta = "Error al configurar la encuesta."; dynamic json = jdata; var a = json.ConfiguracionEncuestaId; var b1 = json.FechaInicio; var c = json.FechaFin; var d = json.Estatus; var e1 = json.UsuarioId; ConfiguracionEncuestaId = a.ToObject <string>(); FechaInicio = b1.ToObject <string>(); FechaFin = c.ToObject <string>(); Estatus = d.ToObject <string>(); UsuarioId = e1.ToObject <string>(); DTO.DTOConfiguracionAll objDtoConf = ObtieneEncuestaPorId(JObject.Parse("{ConfiguracionEncuestaId:" + ConfiguracionEncuestaId + "}")); DTO.DTOPeriodo objDtoPer = TraerPeriodoPorID(objDtoConf.PeriodoId); if ((Convert.ToDateTime(FechaInicio) >= objDtoPer.FechaInicio && Convert.ToDateTime(FechaInicio) <= objDtoPer.FechaFin) && (Convert.ToDateTime(FechaFin) >= objDtoPer.FechaInicio && Convert.ToDateTime(FechaFin) <= objDtoPer.FechaFin)) { if (Convert.ToDateTime(FechaInicio) > Convert.ToDateTime(FechaFin)) { Respuesta = "La fecha de inicio debe ser menor a la fecha de termino."; return(Respuesta); } } else { Respuesta = "La fecha de inicio y termino deben de estar dentro del periodo seleccionado."; return(Respuesta); } DTO.DTOConfiguracionEncuesta objConfiguracionEncuesta; try { objConfiguracionEncuesta = new DTO.DTOConfiguracionEncuesta(); objConfiguracionEncuesta.ConfiguracionEncuestaId = Convert.ToInt32(ConfiguracionEncuestaId); objConfiguracionEncuesta.FechaFin = Convert.ToDateTime(FechaFin); objConfiguracionEncuesta.FechaInicio = Convert.ToDateTime(FechaInicio); objConfiguracionEncuesta.Estatus = Convert.ToBoolean(Convert.ToInt32(Estatus)); objConfiguracionEncuesta.UsuarioModifico = Convert.ToInt32(UsuarioId); ModificaConfiguracionEncuesta(objConfiguracionEncuesta); Respuesta = "Se configuro correctamente la encuesta."; } catch (Exception e) { string b = e.ToString(); } return(Respuesta); DTOPeriodo TraerPeriodoPorID(int PeriodoID) { return(db.Periodo.Where(I => I.PeriodoId == PeriodoID) .Select(d2 => new DTOPeriodo { PeriodoId = d2.PeriodoId, Descripcion = d2.Descripcion, FechaInicio = d2.FechaInicio, FechaFin = d2.FechaFin }).FirstOrDefault()); } int ModificaConfiguracionEncuesta(DTOConfiguracionEncuesta ConfEncuesta) { try { ConfiguracionEncuesta objCE = db.ConfiguracionEncuesta .Where(d2 => d2.ConfiguracionEncuestaId == ConfEncuesta.ConfiguracionEncuestaId) .FirstOrDefault(); objCE.FechaInicio = ConfEncuesta.FechaInicio; objCE.FechaFin = ConfEncuesta.FechaFin; objCE.Estatus = ConfEncuesta.Estatus; objCE.UsuarioModifico = ConfEncuesta.UsuarioModifico; db.SaveChanges(); return(objCE.ConfiguracionEncuestaId); } catch { return(0); } } }