Exemplo n.º 1
0
        public static Response <ServicioProcedimiento> Post(this ServicioProcedimiento request,
                                                            Factory factory,
                                                            IHttpRequest httpRequest)
        {
            factory.Execute(proxy => {
                //var servicio= proxy.FirstOrDefaultById<Servicio>(request.IdServicio);
                var servicio = proxy.CheckExistAndActivo <Servicio>(request.IdServicio, f => f.Nombre);

                var procedimiento = proxy.CheckExistAndActivo <Procedimiento>(request.IdProcedimiento, f => f.Nombre);
                proxy.Create(request);
                request.NombreServicio             = servicio.Nombre;
                request.ActivoServicio             = servicio.Activo;
                request.NombreProcedimiento        = procedimiento.Nombre;
                request.DescripcionProcedimiento   = procedimiento.Descripcion;
                request.PorcentajeIvaProcedimiento = procedimiento.PorcentajeIva;
                request.ValorUnitarioProcedimiento = procedimiento.ValorUnitario;
                request.ActivoProcedimiento        = procedimiento.Activo;
            });

            List <ServicioProcedimiento> data = new List <ServicioProcedimiento>();

            data.Add(request);

            return(new Response <ServicioProcedimiento>()
            {
                Data = data
            });
        }
Exemplo n.º 2
0
        public static Response <ServicioProcedimiento> Delete(this ServicioProcedimiento request,
                                                              Factory factory,
                                                              IHttpRequest httpRequest)
        {
            factory.Execute(proxy => {
                proxy.Delete <ServicioProcedimiento>(q => q.Id == request.Id);
            });

            List <ServicioProcedimiento> data = new List <ServicioProcedimiento>();

            data.Add(request);

            return(new Response <ServicioProcedimiento>()
            {
                Data = data
            });
        }
Exemplo n.º 3
0
        public static Response <ServicioProcedimiento> Get(this ServicioProcedimiento request,
                                                           Factory factory,
                                                           IHttpRequest httpRequest)
        {
            return(factory.Execute(proxy => {
                long?totalCount = null;

                var paginador = new Paginador(httpRequest);

                var visitor = ReadExtensions.CreateExpression <ServicioProcedimiento>();

                var predicate = PredicateBuilder.True <ServicioProcedimiento>();

                if (!request.NombreProcedimiento.IsNullOrEmpty())
                {
                    predicate = q => q.NombreProcedimiento.Contains(request.NombreProcedimiento);
                    visitor.OrderBy(f => f.NombreProcedimiento);
                }

                if (!request.NombreServicio.IsNullOrEmpty())
                {
                    predicate = q => q.NombreServicio.Contains(request.NombreServicio);
                    visitor.OrderBy(f => f.NombreServicio);
                }

                if (request.IdProcedimiento != default(int))
                {
                    predicate = q => q.IdProcedimiento == request.IdProcedimiento;
                    visitor.OrderBy(f => f.NombreServicio);
                }

                if (request.IdServicio != default(int))
                {
                    predicate = q => q.IdServicio == request.IdServicio;
                    visitor.OrderBy(f => f.NombreProcedimiento);
                }

                if (visitor.OrderByExpression.IsNullOrEmpty())
                {
                    visitor.OrderBy(f => f.NombreServicio);
                }

                var qs = httpRequest.QueryString["ActivoProcedimiento"];
                bool activo;
                if (bool.TryParse(qs, out activo))
                {
                    predicate = predicate.AndAlso(q => q.ActivoProcedimiento == activo);
                }


                qs = httpRequest.QueryString["ActivoServicio"];
                bool activoServicio;
                if (bool.TryParse(qs, out activoServicio))
                {
                    predicate = predicate.AndAlso(q => q.ActivoServicio == activoServicio);
                }

                visitor.Where(predicate);

                if (paginador.PageNumber.HasValue)
                {
                    visitor.Select(r => Sql.Count(r.Id));
                    totalCount = proxy.Count(visitor);
                    visitor.Select();
                    int rows = paginador.PageSize.HasValue? paginador.PageSize.Value:BL.ResponsePageSize;
                    visitor.Limit(paginador.PageNumber.Value * rows, rows);
                }



                return new Response <ServicioProcedimiento>()
                {
                    Data = proxy.Get(visitor),
                    TotalCount = totalCount
                };
            }));
        }
Exemplo n.º 4
0
 public static Response <ServicioProcedimiento> Put(this ServicioProcedimiento request,
                                                    Factory factory,
                                                    IHttpRequest httpRequest)
 {
     throw HttpError.NotFound("PutServicioProcedimiento No Implementado");
 }