示例#1
0
        public static bool CanAccessTo(InvoiceTax invoiceTax)
        {
            if (IsAdmin || invoiceTax.CreateBy == SecurityContext.CurrentAccount.ID)
            {
                return(true);
            }

            return(false);
        }
        public static bool CanAccessTo(InvoiceTax invoiceTax, Guid userId)
        {
            if (IsAdministrator(userId) || invoiceTax.CreateBy == userId)
            {
                return(true);
            }

            return(false);
        }
        public override InvoiceTax SaveOrUpdateInvoiceTax(InvoiceTax invoiceTax)
        {
            if (invoiceTax != null && invoiceTax.ID > 0)
            {
                ResetCache(invoiceTax.ID);
            }

            return(base.SaveOrUpdateInvoiceTax(invoiceTax));
        }
示例#4
0
        public virtual InvoiceTax SaveOrUpdateInvoiceTax(InvoiceTax invoiceTax)
        {
            /*_cache.Remove(_invoiceItemCacheKey);
             * _cache.Insert(_invoiceTaxCacheKey, String.Empty);*/

            using (var db = GetDb())
            {
                return(SaveOrUpdateInvoiceTax(invoiceTax, db));
            }
        }
示例#5
0
 public InvoiceTaxWrapper(InvoiceTax invoiceTax)
     : base(invoiceTax.ID)
 {
     Name        = invoiceTax.Name;
     Description = invoiceTax.Description;
     Rate        = invoiceTax.Rate;
     CreateOn    = (ApiDateTime)invoiceTax.CreateOn;
     CreateBy    = EmployeeWraper.Get(invoiceTax.CreateBy);
     CanEdit     = CRMSecurity.CanEdit(invoiceTax);
     CanDelete   = CRMSecurity.CanDelete(invoiceTax);
 }
示例#6
0
 public static string GetJson(InvoiceTax invoiceTax)
 {
     return(invoiceTax == null ?
            string.Empty :
            JsonConvert.SerializeObject(new
     {
         id = invoiceTax.ID,
         name = invoiceTax.Name,
         rate = invoiceTax.Rate,
         description = invoiceTax.Description
     }));
 }
示例#7
0
        static void UpdateInvoiceTaxes(Invoice invoice, IDataRepositoryFactory dataRepositoryFactory)
        {
            var invoiceTaxRepo       = dataRepositoryFactory.GetCustomDataRepositories <IInvoiceTaxRepository>();
            var productTaxRepository = dataRepositoryFactory.GetCustomDataRepositories <IProductTaxRepository>();
            var invoiceTaxes         = invoiceTaxRepo.GetInvoiceTaxes(invoice.InvoiceNumber).ToList();

            if (invoiceTaxes != null && invoiceTaxes.Count > 0)
            {
                foreach (var tax in invoiceTaxes)
                {
                    invoiceTaxRepo.Remove(tax.Id);
                }
            }
            Dictionary <long, decimal> amountPerTax = new Dictionary <long, decimal>();

            invoice.InvoiceDetails.ForEach(x =>
            {
                x.InvoiceId = invoice.Id;

                var productTaxes = x.Product?.Taxes != null && x.Product?.Taxes.Count > 0 ? x.Product.Taxes :
                                   productTaxRepository.GetProductTaxes(x.ProductId);
                foreach (var impuesto in productTaxes)
                {
                    if (amountPerTax.Any(i => i.Key == impuesto.TaxId))
                    {
                        amountPerTax[impuesto.TaxId] += impuesto.Tax.Rate * x.BeforeTaxesAmount;
                    }
                    else
                    {
                        amountPerTax.Add(impuesto.TaxId, impuesto.Tax.Rate * x.BeforeTaxesAmount);
                    }
                }
            });

            foreach (var invoiceTaxAmount in amountPerTax)
            {
                InvoiceTax InvoiceImpuesto = new InvoiceTax()
                {
                    CreatedBy     = invoice.CreatedBy,
                    Active        = true,
                    InvoiceId     = invoice.Id,
                    CreatedDate   = DateTime.Now,
                    TaxId         = invoiceTaxAmount.Key,
                    CurrencyId    = invoice.CurrencyId,
                    TaxAmount     = invoiceTaxAmount.Value,
                    InvoiceNumber = string.IsNullOrEmpty(invoice.InvoiceNumber) ? invoice.DocumentNumber : invoice.InvoiceNumber,
                };
                invoiceTaxRepo.Add(InvoiceImpuesto);
            }
        }
示例#8
0
        private InvoiceTax SaveOrUpdateInvoiceTax(InvoiceTax invoiceTax, DbManager db)
        {
            if (String.IsNullOrEmpty(invoiceTax.Name))
            {
                throw new ArgumentException();
            }

            invoiceTax.LastModifedBy = SecurityContext.CurrentAccount.ID;
            invoiceTax.LastModifedOn = DateTime.UtcNow;

            if (db.ExecuteScalar <int>(Query("crm_invoice_tax").SelectCount().Where(Exp.Eq("id", invoiceTax.ID))) == 0)
            {
                invoiceTax.CreateOn = DateTime.UtcNow;
                invoiceTax.CreateBy = SecurityContext.CurrentAccount.ID;

                invoiceTax.ID = db.ExecuteScalar <int>(
                    Insert("crm_invoice_tax")
                    .InColumnValue("id", 0)
                    .InColumnValue("name", invoiceTax.Name)
                    .InColumnValue("description", invoiceTax.Description)
                    .InColumnValue("rate", invoiceTax.Rate)
                    .InColumnValue("create_on", invoiceTax.CreateOn)
                    .InColumnValue("create_by", SecurityContext.CurrentAccount.ID)
                    .InColumnValue("last_modifed_on", invoiceTax.LastModifedOn)
                    .InColumnValue("last_modifed_by", invoiceTax.LastModifedBy)
                    .Identity(1, 0, true));
            }
            else
            {
                var oldInvoiceTax = db.ExecuteList(GetInvoiceTaxSqlQuery(Exp.Eq("id", invoiceTax.ID)))
                                    .ConvertAll(ToInvoiceTax)
                                    .FirstOrDefault();

                CRMSecurity.DemandEdit(oldInvoiceTax);

                db.ExecuteNonQuery(
                    Update("crm_invoice_tax")
                    .Set("name", invoiceTax.Name)
                    .Set("description", invoiceTax.Description)
                    .Set("rate", invoiceTax.Rate)
                    .Set("last_modifed_on", invoiceTax.LastModifedOn)
                    .Set("last_modifed_by", invoiceTax.LastModifedBy)
                    .Where(Exp.Eq("id", invoiceTax.ID)));
            }

            return(invoiceTax);
        }
        protected void add3()
        {
            InvoiceTax detials = new InvoiceTax();

            detials.InvoiceTax_Amount     = Convert.ToDouble(TextBoxdamounttax.Text);
            detials.InvoiceTax_Percentage = Convert.ToDouble(TextBoxtaxpercentage0.Text);
            detials.InvoiceTax_RecTime    = DateTime.Now;

            detials.Tax_Id = Convert.ToInt32(DropDownListtax.SelectedValue);

            detials.Invoice_ID = Convert.ToInt32(Labelid.Text);
            detials.IsDisable  = false;

            detials.Rectime = DateTime.Now;

            DB.InvoiceTaxes.InsertOnSubmit(detials);
            DB.SubmitChanges();


            editinvoicemoney(Labelid.Text);
            onrefresh();
        }
示例#10
0
 public static bool CanDelete(InvoiceTax invoiceTax)
 {
     return(CanEdit(invoiceTax) && Global.DaoFactory.GetInvoiceTaxDao().CanDelete(invoiceTax.ID));
 }
示例#11
0
 public void CalculateTax()
 {
     InvoiceTax.Calculate(SoldProducts);
 }
示例#12
0
 public void Initialize()
 {
     _taxInvoice = new InvoiceTax();
 }
示例#13
0
 public static List <Guid> GetAccessSubjectGuidsTo(InvoiceTax invoiceTax)
 {
     return(GetAccessSubjectGuidsTo((ISecurityObjectId)invoiceTax));
 }
示例#14
0
 public static Dictionary <Guid, string> GetAccessSubjectTo(InvoiceTax invoiceTax)
 {
     return(GetAccessSubjectTo((ISecurityObjectId)invoiceTax));
 }
示例#15
0
 public static bool IsPrivate(InvoiceTax invoiceTax)
 {
     return(IsPrivate((ISecurityObjectId)invoiceTax));
 }
示例#16
0
 public static void MakePublic(InvoiceTax invoiceTax)
 {
     MakePublic((ISecurityObjectId)invoiceTax);
 }
示例#17
0
 public static bool CanEdit(InvoiceTax invoiceTax)
 {
     return(IsAdmin);
 }
示例#18
0
 public static void SetAccessTo(InvoiceTax invoiceTax, List <Guid> subjectID)
 {
     SetAccessTo((ISecurityObjectId)invoiceTax, subjectID);
 }
示例#19
0
 private InvoiceTaxWrapper ToInvoiceTaxWrapper(InvoiceTax invoiceTax)
 {
     return(new InvoiceTaxWrapper(invoiceTax));
 }
示例#20
0
 public static bool CanAccessTo(InvoiceTax invoiceTax)
 {
     return(CanAccessTo(invoiceTax, SecurityContext.CurrentAccount.ID));
 }