public override string EditRecord(HttpContext context) { JsonResponse response = new JsonResponse(); JavaScriptSerializer serializer = new JavaScriptSerializer(); try { var data = context.Request; var sr = new StreamReader(data.InputStream); var stream = sr.ReadToEnd(); var javaScriptSerializer = new JavaScriptSerializer(); var planEncabezado = javaScriptSerializer.Deserialize <PlanesTemp>(stream); int ID_PlanSemanal = planEncabezado.ID_Persona; // uso el id pero no es necesariamente es de la persona sino del plan semanal _planSemanal = new DataRepository <IAWContext, PlanSemanal>(_lazyContext); var planSemanal = _planSemanal.GetFirst(b => b.ID_PlanSemanal == ID_PlanSemanal); planSemanal.ModificadoPor = SystemUsername; //Forma menos complicada borrar todos los detalles e insertar los nuevos foreach (var detalle in planSemanal.PlanSemanalDetalle.ToList()) { var planDetalle = _lazyContext.Set <PlanSemanalDetalle>().Single(c => c.ID_PlanSemanalDetalle == detalle.ID_PlanSemanalDetalle); _lazyContext.Set <PlanSemanalDetalle>().Remove(planDetalle); _lazyContext.SaveChanges(); } //Insercion de nuevos detalles foreach (var detalle in planEncabezado.PlanSemanalDetalle) { PlanSemanalDetalle planDetalle = new PlanSemanalDetalle(); planDetalle.Actividad = detalle.Actividad; planDetalle.Observaciones = detalle.Observaciones; planDetalle.Recurso = detalle.Recurso; planDetalle.CreadoPor = SystemUsername; planSemanal.PlanSemanalDetalle.Add(planDetalle); } _lazyContext.SaveChanges(); response.IsSucess = true; response.ResponseData = string.Empty; response.Message = "Edicion realizada Satisfactoriamente"; response.CallBack = string.Empty; } catch (Exception ex) { response.Message = ex.Message; response.IsSucess = false; } return(serializer.Serialize(response)); }
public override string AddRecord(HttpContext context) { JsonResponse response = new JsonResponse(); JavaScriptSerializer serializer = new JavaScriptSerializer(); DateTime FechaInicio; DateTime FechaFinal; try { var data = context.Request; var sr = new StreamReader(data.InputStream); var stream = sr.ReadToEnd(); var javaScriptSerializer = new JavaScriptSerializer(); var planSemanal = javaScriptSerializer.Deserialize <PlanesTemp>(stream); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); FechaInicio = epoch.AddMilliseconds(Convert.ToInt64(planSemanal.FechaInicio)); FechaFinal = epoch.AddMilliseconds(Convert.ToInt64(planSemanal.FechaFinal)); PlanSemanal planEncabezado = new PlanSemanal(); planEncabezado.ID_Persona = planSemanal.ID_Persona; planEncabezado.FechaInicio = FechaInicio; planEncabezado.FechaFinal = FechaFinal; planEncabezado.CreadoPor = SystemUsername; foreach (var detalle in planSemanal.PlanSemanalDetalle) { PlanSemanalDetalle planSemanalDetalle = new PlanSemanalDetalle(); planSemanalDetalle.Actividad = detalle.Actividad; planSemanalDetalle.Observaciones = detalle.Observaciones; planSemanalDetalle.Recurso = detalle.Recurso; planSemanalDetalle.CreadoPor = SystemUsername; planEncabezado.PlanSemanalDetalle.Add(planSemanalDetalle); } _planSemanal.Add(planEncabezado); _context.SaveChanges(); response.IsSucess = true; response.ResponseData = string.Empty; response.Message = "Registro Creado Satisfactoriamente"; response.CallBack = string.Empty; } catch (Exception msg) { response.Message = msg.Message; response.IsSucess = false; } return(serializer.Serialize(response)); }