Exemplo n.º 1
0
        public Result <Empresa> ConfirmarRegistroEmpresa(ConfirmarRegistroEmpresa request)
        {
            var validator = new EmpresaValidator(this);

            validator.ValidateReadRegistro(new Empresa {
                Nit = request.Nit, Llave = request.Llave
            });

            var empresa = Single <Empresa> (Query.And(Query <Empresa> .EQ(q => q.Nit, request.Nit), Query <Empresa> .EQ(q => q.Llave, request.Llave)));

            validator.ValidateConfirmar(empresa);

            var fr = new EmpresaFechaRegistro {
                FechaRegistro = DateTime.UtcNow, Id = empresa.Id
            };

            var r1 = Put(fr);

            empresa.FechaRegistro = r1.Data.FechaRegistro;
            empresa.Plan          = Single <Plan> (empresa.IdPlan);
            return(new Result <Empresa> {
                Data = empresa,
                WriteResult = r1.WriteResult,
            });
        }
Exemplo n.º 2
0
        public Result <Empresa> DeleteEmpresa(DeleteEmpresa request)
        {
            var ne = new Empresa {
                Id = request.Id
            };
            var validator = new EmpresaValidator(this);

            validator.ValidateDelete(ne);
            return(Delete <Empresa> (ne));
        }
Exemplo n.º 3
0
        public Result <Empresa> UpdateEmpresa(UpdateEmpresa request)
        {
            var ne        = request.Data;
            var validator = new EmpresaValidator(this);

            validator.ValidateUpdate(ne);
            var r = Put <Empresa> (ne, fieldsToIgnore: e => new { e.Llave, e.IdPlan });

            r.Data.Plan = Single <Plan> (r.Data.IdPlan);
            return(r);
        }
Exemplo n.º 4
0
        public Empresa ReadRegistroEmpresa(ReadRegistroEmpresa request)
        {
            var validator = new EmpresaValidator(this);

            validator.ValidateReadRegistro(new Empresa {
                Nit = request.Nit, Llave = request.Llave
            });
            var empresa = Single <Empresa> (Query.And(Query <Empresa> .EQ(q => q.Nit, request.Nit), Query <Empresa> .EQ(q => q.Llave, request.Llave)));

            empresa.Plan = Single <Plan> (empresa.IdPlan);
            return(empresa);
        }
Exemplo n.º 5
0
        public Result <Empresa> CreateEmpresa(CreateEmpresa request)
        {
            var ne   = request.Data;
            var plan = GetDemo();

            ne.IdPlan = plan.Id;
            var validator = new EmpresaValidator(this);

            validator.ValidateCreate(ne);
            ne.Llave = Store.CreateRandomPassword(48);
            var r = Post <Empresa> (ne);

            r.Data.Plan = plan;
            return(r);
        }
Exemplo n.º 6
0
        public Result <Empresa> RecuperarLlaveEmpresa(RecuperarLlaveEmpresa request)
        {
            var validator = new EmpresaValidator(this);

            validator.ValidateReadRegistro(new Empresa {
                Nit = request.Nit, Llave = request.Llave
            });

            var empresa = Single <Empresa> (Query.And(Query <Empresa> .EQ(q => q.Nit, request.Nit), Query <Empresa> .EQ(q => q.Llave, request.Llave)));

            empresa.Plan = Single <Plan> (empresa.IdPlan);
            validator.ValidateExiste(empresa);
            if (request.Regenerar)
            {
                empresa.Llave = CreateRandomPassword(48);
                var r = Put <Empresa> (empresa, e => e.Llave);
                r.Data.Plan = empresa.Plan;
                return(r);
            }
            return(new Result <Empresa> {
                Data = empresa
            });
        }
Exemplo n.º 7
0
        public Result <Empresa> CreateRegistroEmpresa(CreateRegistroEmpresa request)
        {
            var ne = request.Data;

            var empresa = Single <Empresa> (Query <Empresa> .EQ(q => q.Nit, ne.Nit));

            empresa.PopulateWith(ne);

            var validator = new EmpresaValidator(this);

            validator.ValidateCreateRegistro(empresa);

            Plan plan = GetDemo();

            empresa.IdPlan = plan.Id;

            empresa.Llave      = Store.CreateRandomPassword(48);
            empresa.FechaLLave = DateTime.UtcNow;
            var r = Save(empresa);

            r.Data.Llave = "";
            r.Data.Plan  = plan;
            return(r);
        }