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 bitacoraEncabezado = javaScriptSerializer.Deserialize <BitacorasTemp>(stream); int ID_Bitacora = bitacoraEncabezado.ID_Persona; // uso el id pero no es necesariamente es de la persona sino de la bitacora _bitacora = new DataRepository <IAWContext, Bitacora>(_lazyContext); var bitacora = _bitacora.GetFirst(b => b.ID_Bitacora == ID_Bitacora); bitacora.ModificadoPor = SystemUsername; //Forma menos complicada borrar todos los detalles e insertar los nuevos foreach (var detalle in bitacora.BitacoraDetalle.ToList()) { var bitacoraDetalle = _lazyContext.Set <BitacoraDetalle>().Single(c => c.ID_BitacoraDetalle == detalle.ID_BitacoraDetalle); _lazyContext.Set <BitacoraDetalle>().Remove(bitacoraDetalle); _lazyContext.SaveChanges(); } //Insercion de nuevos detalles foreach (var detalle in bitacoraEncabezado.BitacoraDetalle) { BitacoraDetalle bitacoraDetalle = new BitacoraDetalle(); bitacoraDetalle.Actividad = detalle.Actividad; bitacoraDetalle.Observaciones = detalle.Observaciones; bitacoraDetalle.CreadoPor = SystemUsername; bitacora.BitacoraDetalle.Add(bitacoraDetalle); } _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 FechaBitacora; try { var data = context.Request; var sr = new StreamReader(data.InputStream); var stream = sr.ReadToEnd(); var javaScriptSerializer = new JavaScriptSerializer(); var bitacora = javaScriptSerializer.Deserialize <BitacorasTemp>(stream); var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc); FechaBitacora = epoch.AddMilliseconds(Convert.ToInt64(bitacora.FechaBitacora)); Bitacora bitacoraEncabezado = new Bitacora(); bitacoraEncabezado.ID_Persona = bitacora.ID_Persona; bitacoraEncabezado.FechaBitacora = FechaBitacora; bitacoraEncabezado.CreadoPor = SystemUsername; foreach (var detalle in bitacora.BitacoraDetalle) { BitacoraDetalle bitacoraDetalle = new BitacoraDetalle(); bitacoraDetalle.Actividad = detalle.Actividad; bitacoraDetalle.Observaciones = detalle.Observaciones; bitacoraDetalle.CreadoPor = SystemUsername; bitacoraEncabezado.BitacoraDetalle.Add(bitacoraDetalle); } _bitacora.Add(bitacoraEncabezado); _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)); }