예제 #1
0
        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));
        }
예제 #2
0
        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));
        }