Esempio n. 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 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));
        }
Esempio n. 2
0
        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));
        }