Beispiel #1
0
 public int AddCustomVariable(string key, int value)
 {
     if (CustomVariables.ContainsKey(key))
     {
         return(-1);
     }
     CustomVariables.Add(key, value);
     return(1);
 }
Beispiel #2
0
        public CustomVariable AddCustomVariable(string propertyType, string propertyName)
        {
            CustomVariable customVariable = new CustomVariable();

            customVariable.Type = propertyType;
            customVariable.Name = propertyName;

            CustomVariables.Add(customVariable);

            return(customVariable);
        }
Beispiel #3
0
        public NatureAreaType(RavenDb.NatureAreaType natureAreaType) : base(natureAreaType)
        {
            if (natureAreaType.Surveyer != null)
            {
                Surveyer = new Contact(natureAreaType.Surveyer);
            }

            foreach (var customVariable in natureAreaType.CustomVariables)
            {
                CustomVariables.Add(new CustomVariable(customVariable));
            }
            foreach (var additionalVariable in natureAreaType.AdditionalVariables)
            {
                AdditionalVariables.Add(new DescriptionVariable(additionalVariable));
            }
        }
Beispiel #4
0
 /// <summary>
 /// Cria uma Fatura para um Cliente (Podendo ser um objeto cliente ou apenas um e-mail).
 /// </summary>
 /// <param name="email">E-Mail do cliente</param>
 /// <param name="due_date">Data de Expiração (DD/MM/AAAA)</param>
 /// <param name="items"> Itens da Fatura</param>
 /// <param name="return_url">(opcional)	Cliente é redirecionado para essa URL após efetuar o pagamento da Fatura pela página de Fatura da Iugu</param>
 /// <param name="expired_url">(opcional) Cliente é redirecionado para essa URL se a Fatura que estiver acessando estiver expirada</param>
 ///  <param name="notification_url">(opcional) URL chamada para todas as notificações de Fatura, assim como os webhooks (Gatilhos) são chamados</param>
 /// <param name="tax_cents">(opcional) Valor dos Impostos em centavos</param>
 /// <param name="discount_cents">(opcional)	Valor dos Descontos em centavos</param>
 /// <param name="customer_id">(opcional) ID do Cliente</param>
 /// <param name="ignore_due_email">(opcional) Booleano que ignora o envio do e-mail de cobrança</param>
 /// <param name="subscription_id">(opcional) Amarra essa Fatura numa Assinatura</param>
 /// <param name="credits">(opcional) Caso tenha o subscription_id, pode-se enviar o número de créditos a adicionar nessa Assinatura quando a Fatura for paga</param>
 /// <param name="logs">(opcional) Logs da Fatura</param>
 /// <param name="custom_variables">(opcional) Variáveis Personalizadas</param>
 /// <returns></returns>
 public InvoiceModel Create(string email, DateTime due_date, Item[] items, string return_url = "",
     string expired_url = "", string notification_url = "", int tax_cents = 0, int discount_cents = 0, string customer_id = "", bool ignore_due_email = false,
     string subscription_id = "", int credits = 0, Logs logs = null, CustomVariables custom_variables = null)
 {
     //TODO: implementar  custom_variables[]
     var invoice = new
     {
         email = email,
         due_date = due_date.ToString("dd/MM/yyyy"),
         items = items,
         return_url = return_url,
         expired_url = expired_url,
         tax_cents = tax_cents,
         discount_cents = discount_cents,
         customer_id = customer_id,
         ignore_due_email = ignore_due_email,
         subscription_id = subscription_id,
         credits = credits,
         logs = logs,
         custom_variables = custom_variables
     };
     var retorno = PostAsync<InvoiceModel>(invoice).Result;
     return retorno;
 }
Beispiel #5
0
        /// <summary>
        /// Cria uma Fatura para um Cliente (Podendo ser um objeto cliente ou apenas um e-mail).
        /// </summary>
        /// <param name="email">E-Mail do cliente</param>
        /// <param name="due_date">Data de Expiração (DD/MM/AAAA)</param>
        /// <param name="items"> Itens da Fatura</param>
        /// <param name="return_url">(opcional)	Cliente é redirecionado para essa URL após efetuar o pagamento da Fatura pela página de Fatura da Iugu</param>
        /// <param name="expired_url">(opcional) Cliente é redirecionado para essa URL se a Fatura que estiver acessando estiver expirada</param>
        ///  <param name="notification_url">(opcional) URL chamada para todas as notificações de Fatura, assim como os webhooks (Gatilhos) são chamados</param>
        /// <param name="tax_cents">(opcional) Valor dos Impostos em centavos</param>
        /// <param name="discount_cents">(opcional)	Valor dos Descontos em centavos</param>
        /// <param name="customer_id">(opcional) ID do Cliente</param>
        /// <param name="ignore_due_email">(opcional) Booleano que ignora o envio do e-mail de cobrança</param>
        /// <param name="subscription_id">(opcional) Amarra essa Fatura numa Assinatura</param>
        /// <param name="credits">(opcional) Caso tenha o subscription_id, pode-se enviar o número de créditos a adicionar nessa Assinatura quando a Fatura for paga</param>
        /// <param name="logs">(opcional) Logs da Fatura</param>
        /// <param name="custom_variables">(opcional) Variáveis Personalizadas</param>
        /// <returns></returns>
        public InvoiceModel Create(string email, DateTime due_date, Item[] items, string return_url = "",
                                   string expired_url     = "", string notification_url = "", int tax_cents = 0, int discount_cents             = 0, string customer_id = "", bool ignore_due_email = false,
                                   string subscription_id = "", int credits             = 0, Logs logs = null, CustomVariables custom_variables = null)
        {
            //TODO: implementar  custom_variables[]
            var invoice = new
            {
                email            = email,
                due_date         = due_date.ToString("dd/MM/yyyy"),
                items            = items,
                return_url       = return_url,
                expired_url      = expired_url,
                tax_cents        = tax_cents,
                discount_cents   = discount_cents,
                customer_id      = customer_id,
                ignore_due_email = ignore_due_email,
                subscription_id  = subscription_id,
                credits          = credits,
                logs             = logs,
                custom_variables = custom_variables
            };
            var retorno = PostAsync <InvoiceModel>(invoice).Result;

            return(retorno);
        }
        public object GetDbObject(string table, AppUser appUser, Document document, int index = -1)
        {
            switch (table)
            {
            case "UserValues":
            {
                var userValues =
                    UserValues
                    .Where(x => x.AppUser.Id == appUser.Id)
                    .OrderByDescending(x => x.Id).FirstOrDefault();
                if (userValues == null)
                {
                    userValues = new UserValues {
                        AppUser = appUser
                    };
                    Add(userValues);
                    SaveChanges();
                }
                return(userValues);
            }

            case "DocumentEmail":
            {
                var documentEmail =
                    DocumentEmail
                    .Where(x => x.Document.Id == document.Id)
                    .OrderByDescending(x => x.Id)
                    .FirstOrDefault();
                if (documentEmail == null)
                {
                    documentEmail = new DocumentEmail {
                        Document = document
                    };
                    Add(documentEmail);
                    SaveChanges();
                }
                return(documentEmail);
            }

            case "Employer":
            {
                return(document.Employer);
            }

            case "CustomVariables":
            {
                if (index >= 1)
                {
                    var customVariable =
                        CustomVariables
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id)
                        .Skip((int)index - 1)
                        .Take(1)
                        .FirstOrDefault();
                    if (customVariable == null)
                    {
                        customVariable = new CustomVariable {
                            Document = document
                        };
                        Add(customVariable);
                        SaveChanges();
                    }
                    return(customVariable);
                }
                else
                {
                    var customVariables =
                        CustomVariables
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id);
                    return(customVariables);
                }
            }

            case "DocumentFiles":
            {
                if (index >= 1)
                {
                    var documentFile =
                        DocumentFiles
                        .Where(x => x.Document.Id == document.Id)
                        .OrderBy(x => x.Id)
                        .Skip((int)index - 1)
                        .Take(1)
                        .FirstOrDefault();
                    if (documentFile == null)
                    {
                        documentFile = new DocumentFile {
                            Document = document
                        };
                        Add(documentFile);
                        SaveChanges();
                    }
                    return(documentFile);
                }
                else
                {
                    return
                        (DocumentFiles
                         .Where(x => x.Document.Id == document.Id)
                         .OrderBy(x => x.Id)
                         .AsEnumerable <DocumentFile>());
                }
            }

            case "Document":
                return(document);

            case "SentApplications":
            {
                var sentApplications =
                    SentApplications
                    .Where(x => x.Document.AppUser.Id == appUser.Id)
                    .Include(x => x.Document)
                    .Include(x => x.Document.Employer)
                    .Include(x => x.UserValues)
                    .OrderByDescending(x => x.SentDate)
                    .AsEnumerable <SentApplication>();
                return(sentApplications);
            }

            default:
                throw new Exception($"Table not found: {table}");
            }
        }