protected void btnUpload_OnClick(object sender, EventArgs e)
    {

        InvoiceLogic il = new InvoiceLogic();
        Invoice i1 = new Invoice();
        i1.OrderID = Convert.ToInt32(Request.QueryString["ID"]);
        i1.InvoiceNo = TextBox2.Text;
        DateTime d1 = new DateTime();
        if (!DateTime.TryParseExact(TextBox3.Text, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out d1))
        {
            i1.InvoiceDate = DateTime.Today;
        }
        else
        {
            i1.InvoiceDate = d1;
        }
        i1.GrandTotal = Convert.ToSingle(txtGTotal.Text);
        string path;
        string ticks = DateTime.Now.Ticks.ToString();
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("Images/" + ticks + FileUpload1.FileName));
            path = "Images/" + ticks + FileUpload1.FileName;
            i1.InvoicePDF = path;
        }
        il.Insert(i1);
        Response.Redirect("ViewInvoice.aspx");
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        EmployeeLogic el = new EmployeeLogic();
        Employee      e2 = el.SelectByID(Convert.ToInt32(Session["EmployeeID"]));

        if (!IsPostBack)
        {
            if (e2.Designation.Equals("COMERCIAL MANAGER") || e2.Designation.Equals("COMERCIAL EMPLOYEE") || e2.Designation.Equals("ACCOUNTATANT"))
            {
                InvoiceLogic iv = new InvoiceLogic();
                DataTable    dt = iv.SelectForInvoice(Convert.ToInt32(Request.QueryString["ID"]));
                Label1.Text         = dt.Rows[0]["CustomerName"].ToString();
                TextArea1.InnerText = dt.Rows[0]["OfficeAddress"].ToString();
                TextBox8.Text       = "27460000277C";
                TextBox9.Text       = "400016/C/6, DTD.01.04.96";
                Label2.Text         = dt.Rows[0]["CustomerName"].ToString();
                txt.InnerText       = dt.Rows[0]["officeAddress"].ToString();
                TextBox11.Text      = "400016/C/6, DTD.01.04.96";
                TextBox12.Text      = "27460000277C";
                TextBox16.Text      = "27460000277C";
                TextBox17.Text      = "400016/C/6, DTD.01.04.96";
                TextBox18.Text      = dt.Rows[0]["ProductName"].ToString();
                TextBox33.Text      = dt.Rows[0]["Quantity"].ToString();
                TextBox20.Text      = dt.Rows[0]["Rate"].ToString();
                txtAmount.Text      = (Convert.ToSingle(TextBox33.Text) * Convert.ToSingle(TextBox20.Text)).ToString();
            }
            else
            {
                Response.Redirect("Access.aspx");
            }
        }
    }
示例#3
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt5 = new InvoiceLogic().SelectTotalSale2();

        Repeater2.DataSource = dt5;
        Repeater2.DataBind();
    }
 protected void Page_Load(object sender, EventArgs e)
 {
     EmployeeLogic el = new EmployeeLogic();
     Employee e2 = el.SelectByID(Convert.ToInt32(Session["EmployeeID"]));
     if (!IsPostBack)
     {
     if (e2.Designation.Equals("COMERCIAL MANAGER") || e2.Designation.Equals("COMERCIAL EMPLOYEE") || e2.Designation.Equals("ACCOUNTATANT"))
     {
        
         InvoiceLogic iv=new InvoiceLogic();
         DataTable dt=iv.SelectForInvoice(Convert.ToInt32(Request.QueryString["ID"]));
         Label1.Text = dt.Rows[0]["CustomerName"].ToString();
         TextArea1.InnerText = dt.Rows[0]["OfficeAddress"].ToString();
         TextBox8.Text = "27460000277C";
         TextBox9.Text = "400016/C/6, DTD.01.04.96";
         Label2.Text = dt.Rows[0]["CustomerName"].ToString();
         txt.InnerText = dt.Rows[0]["officeAddress"].ToString();
         TextBox11.Text = "400016/C/6, DTD.01.04.96";
         TextBox12.Text = "27460000277C";
         TextBox16.Text = "27460000277C";
         TextBox17.Text = "400016/C/6, DTD.01.04.96";
         TextBox18.Text = dt.Rows[0]["ProductName"].ToString();
         TextBox33.Text = dt.Rows[0]["Quantity"].ToString();
         TextBox20.Text = dt.Rows[0]["Rate"].ToString();
         txtAmount.Text = (Convert.ToSingle(TextBox33.Text) * Convert.ToSingle(TextBox20.Text)).ToString();
         }
     else
     {
         Response.Redirect("Access.aspx");
     }
     }
    
 }
示例#5
0
        public async override void OnNavigatedTo(INavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);

            switch (parameters.GetNavigationMode())
            {
            case NavigationMode.Back:
                break;

            case NavigationMode.New:
                var invoiceLogic     = new InvoiceLogic(Helper.GetDataContext());
                var itemLogic        = new ItemLogic(Helper.GetDataContext());
                var invoiceItemLogic = new InvoiceItemLogic(Helper.GetDataContext());

                DateRangeBindProp = new DateTimeRange(DateTime.Today.Date, DateTime.Today.Date);
                ListInvoice       = await invoiceLogic.GetAllAsync(InvoiceStatus.Paid);

                ListItem = await itemLogic.GetAllAsync();

                ListInvoiceItem = await invoiceItemLogic.GetAllAsync();

                GetOverallData();
                break;

            case NavigationMode.Forward:
                break;

            case NavigationMode.Refresh:
                break;
            }
        }
示例#6
0
        public int InsertInvoiceList(List <Invoice> invoices)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            if (invoices == null || invoices.Count == 0)
            {
                return(-1);
            }
            int param = 0;

            foreach (Invoice invoice in invoices)
            {
                if (string.IsNullOrEmpty(invoice.ID))
                {
                    invoice.ID = invoiceLogic.GetPrimaryKeyInt64().ToString();
                }
                param = invoiceLogic.Insert(invoice);

                if (param <= 0)
                {
                    return(param);
                }
            }
            return(param);
        }
    protected void btnUpload_OnClick(object sender, EventArgs e)
    {
        InvoiceLogic il = new InvoiceLogic();
        Invoice      i1 = new Invoice();

        i1.OrderID   = Convert.ToInt32(Request.QueryString["ID"]);
        i1.InvoiceNo = TextBox2.Text;
        DateTime d1 = new DateTime();

        if (!DateTime.TryParseExact(TextBox3.Text, "dd/MM/yyyy", null, System.Globalization.DateTimeStyles.None, out d1))
        {
            i1.InvoiceDate = DateTime.Today;
        }
        else
        {
            i1.InvoiceDate = d1;
        }
        i1.GrandTotal = Convert.ToSingle(txtGTotal.Text);
        string path;
        string ticks = DateTime.Now.Ticks.ToString();

        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("Images/" + ticks + FileUpload1.FileName));
            path          = "Images/" + ticks + FileUpload1.FileName;
            i1.InvoicePDF = path;
        }
        il.Insert(i1);
        Response.Redirect("ViewInvoice.aspx");
    }
示例#8
0
        private async Task <string> GenerateInvoiceNumber()
        {
            var invoiceLogic = new InvoiceLogic(_dbContext);

            var listInvoice = await invoiceLogic.GetAllAsync(InvoiceStatus.Paid);

            return($"CP{listInvoice.Count}");
        }
 protected void LinkButton1_Command(object sender, CommandEventArgs e)
 {
     InvoiceLogic il = new InvoiceLogic();
     Invoice i1 = il.SelectByID(Convert.ToInt32(e.CommandArgument));
     if (i1 != null)
     {
         int i = il.Delete(i1.InvoiceID);
         Response.Redirect("ViewInvoice.aspx");
     }
 }
示例#10
0
    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        InvoiceLogic il = new InvoiceLogic();
        Invoice      i1 = il.SelectByID(Convert.ToInt32(e.CommandArgument));

        if (i1 != null)
        {
            int i = il.Delete(i1.InvoiceID);
            Response.Redirect("ViewInvoice.aspx");
        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt1 = new InvoiceLogic().SelectForBestOrder();

        bestOrd.Text = dt1.Rows[0]["ProductName"].ToString();
        totalAmt.Text = dt1.Rows[0]["GrandTotal"].ToString();
        txtCustomer.Text = dt1.Rows[0]["CustomerName"].ToString();
        string dp = dt1.Rows[0]["ProductImage"].ToString();
        String[] arr = dp.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        proimg.Src = arr[arr.Length - 1];
    }
示例#12
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt1 = new InvoiceLogic().SelectForBestOrder();

        bestOrd.Text     = dt1.Rows[0]["ProductName"].ToString();
        totalAmt.Text    = dt1.Rows[0]["GrandTotal"].ToString();
        txtCustomer.Text = dt1.Rows[0]["CustomerName"].ToString();
        string dp = dt1.Rows[0]["ProductImage"].ToString();

        String[] arr = dp.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        proimg.Src = arr[arr.Length - 1];
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt2 = new InvoiceLogic().SelectForRevenue();
        txtTotIncome.Text = dt2.Rows[0]["TotalIncome"].ToString();

        DataTable dt4 = new InvoiceLogic().SelectIndividualInvoiceAmount();
        string s = "";
        for (int i = 0; i < dt4.Rows.Count; i++)
        {
            s += dt4.Rows[i]["GrandTotal"] + ",";
        }
        s = "[" + s.TrimEnd(',') + "]";
        individualInvoiceAmount.Attributes.Add("data-data", s);
    }
示例#14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt2 = new InvoiceLogic().SelectForRevenue();

        txtTotIncome.Text = dt2.Rows[0]["TotalIncome"].ToString();

        DataTable dt4 = new InvoiceLogic().SelectIndividualInvoiceAmount();
        string    s   = "";

        for (int i = 0; i < dt4.Rows.Count; i++)
        {
            s += dt4.Rows[i]["GrandTotal"] + ",";
        }
        s = "[" + s.TrimEnd(',') + "]";
        individualInvoiceAmount.Attributes.Add("data-data", s);
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        InvoiceLogic il = new InvoiceLogic();
        DataTable dt = il.SelectAllJoined();
        Repeater1.DataSource = dt;
        Repeater1.DataBind();
        if (dt.Rows.Count == 0)
        {
            Table1.Visible = false;
            Label1.Visible = true;
        }
        else
        {
            Table1.Visible = true;
            Label1.Visible = false;
        }

    }
示例#16
0
        static void Main(string[] args)
        {
            #region Input
            Console.WriteLine("Choose one of the following invoice delivery options.");
            Console.WriteLine("1. Email");
            Console.WriteLine("2. File");
            Console.WriteLine("3. Screen");
            Console.WriteLine("Select invoice delivery options: ");
            var invoiceOption = Convert.ToInt32(Console.ReadLine().Trim());
            #endregion

            #region Output
            var invoiceLogic = new InvoiceLogic();
            var order        = invoiceLogic.GetInvoice();
            invoiceLogic.InvoiceStrategy(GetInvoiceStrategyFor(invoiceOption));
            invoiceLogic.FinalizeOrder(order);
            #endregion
        }
示例#17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        InvoiceLogic il = new InvoiceLogic();
        DataTable    dt = il.SelectAllJoined();

        Repeater1.DataSource = dt;
        Repeater1.DataBind();
        if (dt.Rows.Count == 0)
        {
            Table1.Visible = false;
            Label1.Visible = true;
        }
        else
        {
            Table1.Visible = true;
            Label1.Visible = false;
        }
    }
示例#18
0
        public bool InvoicesIsValid(string prefix, string startNO, string endNO, string invoiceType)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            if (WF.Common.Util.WConvert.ToInt64(endNO) < WF.Common.Util.WConvert.ToInt64(startNO))
            {
                this.ErrorText = "输入的终止号大于起始号!";

                return(false);
            }

            string sql = string.Empty;

            List <Invoice> invoices = new List <Invoice>();

            invoices = invoiceLogic.QueryInvoiceList(invoiceType);

            //如果没有符合条件的发票,说明可以生成
            if (invoices == null)
            {
                return(true);
            }

            for (int i = 0; i < invoices.Count; i++)
            {
                Invoice invoice = invoices[i] as Invoice;

                string curPrefix = Regex.Replace(invoice.BeginNO, "[0-9]*$", "", RegexOptions.IgnoreCase);

                if (prefix == curPrefix && WF.Common.Util.StringUtil.GetNumber(invoice.BeginNO) <= WF.Common.Util.WConvert.ToInt64(startNO) && WF.Common.Util.WConvert.ToInt64(startNO) <= WF.Common.Util.StringUtil.GetNumber(invoice.EndNO))
                {
                    return(false);
                }
                if (prefix == curPrefix && WF.Common.Util.StringUtil.GetNumber(invoice.BeginNO) <= WF.Common.Util.WConvert.ToInt64(endNO) && WF.Common.Util.WConvert.ToInt64(endNO) <= WF.Common.Util.StringUtil.GetNumber(invoice.EndNO))
                {
                    return(false);
                }
            }

            return(true);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new AttendanceLogic().SelectForAttendanceReport(DateTime.Today);

        int present = Convert.ToInt32(dt.Rows[0][1]);
        int absent  = Convert.ToInt32(dt.Rows[1][1]);


        lblPResentPerc.Text = ((float)present * 100) / ((float)present + absent) + "";
        lblPResentPerc.Attributes.Add("Present", present.ToString());
        lblPResentPerc.Attributes.Add("Absent", absent.ToString());

        DataTable dt1 = new InvoiceLogic().SelectForBestOrder();

        bestOrd.Text     = dt1.Rows[0]["ProductName"].ToString();
        totalAmt.Text    = dt1.Rows[0]["GrandTotal"].ToString();
        txtCustomer.Text = dt1.Rows[0]["CustomerName"].ToString();
        string dp = dt1.Rows[0]["ProductImage"].ToString();

        String[] arr = dp.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        proimg.Src = arr[arr.Length - 1];

        DataTable dt2 = new InvoiceLogic().SelectForRevenue();

        txtTotIncome.Text = dt2.Rows[0]["TotalIncome"].ToString();

        DataTable dt4 = new InvoiceLogic().SelectIndividualInvoiceAmount();
        string    s   = "";

        for (int i = 0; i < dt4.Rows.Count; i++)
        {
            s += dt4.Rows[i]["GrandTotal"] + ",";
        }
        s = "[" + s.TrimEnd(',') + "]";
        individualInvoiceAmount.Attributes.Add("data-data", s);


        DataTable dt3 = new ProductLogic().SelectBestProduct();

        OrderNumber.Text = dt3.Rows[0]["Total"].ToString() + " Orders";
        string dp1 = dt3.Rows[0]["DesignFiles"].ToString();

        String[] arr1 = dp1.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        topProimg.Src = arr1[arr1.Length - 1];

        ProName.Text = dt3.Rows[0]["Name"].ToString();

        DataTable dt5 = new InvoiceLogic().SelectTotalSale2();

        Repeater2.DataSource = dt5;
        Repeater2.DataBind();
        DataTable dt6 = new InventoryLogic().SelectRawStock();

        Repeater1.DataSource = dt6;
        Repeater1.DataBind();

        CustomerLogic CL = new CustomerLogic();

        Repeater3.DataSource = CL.SelectForReport1();
        Repeater3.DataBind();
        TransitionLogic ol = new TransitionLogic();

        Repeater9.DataSource = ol.SelectProductStatus1(DateTime.Today);
        Repeater9.DataBind();

        TransitionLogic ol2 = new TransitionLogic();

        Repeater4.DataSource = ol2.SelectOrderStatus1(DateTime.Today);
        Repeater4.DataBind();
    }
示例#20
0
 public InvoiceController()
 {
     _invoiceLogic    = new InvoiceLogic();
     _proInvoiceLogic = new ProInvoiceLogic();
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     DataTable dt5 = new InvoiceLogic().SelectTotalSale2();
     Repeater2.DataSource = dt5;
     Repeater2.DataBind();
 }
示例#22
0
        private async void GetAllInvoice()
        {
            try
            {
                var itemLogic        = new ItemLogic(_dbContext);
                var discountLogic    = new DiscountLogic(_dbContext);
                var invoiceLogic     = new InvoiceLogic(_dbContext);
                var invoiceItemLogic = new InvoiceItemLogic(_dbContext);
                var subItemLogic     = new ItemDiscountLogic(_dbContext);
                var tableLogic       = new TableLogic(_dbContext);
                var zoneLogic        = new ZoneLogic(_dbContext);

                var listTable = await tableLogic.GetAllAsync();

                var listInvoice = await invoiceLogic.GetAllAsync(InvoiceStatus.Paid);

                var listVisualInvoice = Mapper.Map <List <VisualInvoiceModel> >(listInvoice);
                var listZone          = await zoneLogic.GetAllAsync();

                var listItem = await itemLogic.GetAllAsync();

                var listVisualItem = Mapper.Map <List <VisualItemMenuModel> >(listItem);
                var listDiscount   = await discountLogic.GetAllAsync();

                var listVisualDiscount = Mapper.Map <List <VisualItemMenuModel> >(listDiscount);

                ListItem     = new List <VisualItemMenuModel>(listVisualItem);
                ListDiscount = new List <VisualItemMenuModel>(listVisualDiscount);

                foreach (var invoice in listVisualInvoice)
                {
                    var listInvoiceItem = await invoiceItemLogic.GetAsync(invoice.Id);

                    foreach (var invoiceItem in listInvoiceItem)
                    {
                        if (invoiceItem.IsDiscount == 1)
                        {
                            var item       = ListDiscount.First(h => h.Id == invoiceItem.FkItemOrDiscount);
                            var visualItem = new VisualItemMenuModel
                            {
                                Id       = item.Id,
                                Quantity = invoiceItem.Quantity,
                                Name     = item.Name,
                                Status   = Status.Normal,
                                Value    = invoiceItem.Value,
                            };
                            invoice.ListDiscount.Add(visualItem);
                        }
                        else
                        {
                            var item        = ListItem.First(h => h.Id == invoiceItem.FkItemOrDiscount);
                            var listSubItem = await subItemLogic.GetAsync(item.Id);

                            var visualItem = new VisualItemMenuModel
                            {
                                Id       = item.Id,
                                Quantity = invoiceItem.Quantity,
                                Name     = item.Name,
                                Status   = Status.Normal,
                                Value    = invoiceItem.Value,
                            };
                            visualItem.ListSubItem.Add(new VisualItemMenuModel
                            {
                                Name  = "Đơn giá",
                                Value = item.Value,
                            });

                            foreach (var subItem in listSubItem)
                            {
                                var visualSubItem = ListDiscount.FirstOrDefault(h => h.Id == subItem.FkDiscount);
                                visualItem.ListSubItem.Add(new VisualItemMenuModel
                                {
                                    Id     = visualSubItem.Id,
                                    Name   = visualSubItem.Name,
                                    Value  = subItem.Value,
                                    Status = Status.Normal,
                                });
                            }

                            invoice.ListItemInBill.Add(visualItem);
                            invoice.ItemCount     += invoiceItem.Quantity;
                            invoice.OriginalPrice += invoiceItem.Value;
                        }
                        if (invoice.IsTakeAway == 0)
                        {
                            var table = listTable.First(h => h.Id == invoice.FkTable);
                            var zone  = listZone.First(h => h.Id == table.FkZone);
                            invoice.TableName = $"{zone.ZoneName} - {table.TableName}";
                        }
                        else
                        {
                            invoice.TableName = $"MANG ĐI";
                        }
                    }
                }
                ListInvoiceBindProp = new ObservableCollection <VisualInvoiceModel>(listVisualInvoice);
            }
            catch (Exception ex)
            {
                await ShowError(ex);
            }
        }
示例#23
0
 public InvoiceController(InvoiceLogic logic)
 {
     _invoiceLogic = logic;
 }
示例#24
0
        public int UpdateInvoice(Invoice invoice)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            return(invoiceLogic.Update(invoice));
        }
示例#25
0
        public List <Invoice> QueryInvoceListByOperID(string operID)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            return(invoiceLogic.QueryInvoceListByOperID(operID));
        }
示例#26
0
        public List <Invoice> QueryInvoiceList(string type, bool isGroup)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            return(invoiceLogic.QueryInvoiceList(type, isGroup));
        }
示例#27
0
        public int DeleteInvoice(Invoice invoice)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            return(invoiceLogic.Delete(invoice.ID));
        }
示例#28
0
        private async void OnCompeletePayment(object obj)
        {
            if (IsBusy)
            {
                return;
            }

            if (ReceivedMoneyBindProp < BillBindProp.TotalPrice)
            {
                return;
            }

            IsBusy = true;

            try
            {
                // Thuc hien cong viec tai day
                if (!IsCompletedBindProp)
                {
                    IsCompletedBindProp = true;
                }
                else
                {
                    var invoiceLogic     = new InvoiceLogic(_dbContext);
                    var invoiceItemLogic = new InvoiceItemLogic(_dbContext);
                    var tableLogic       = new TableLogic(_dbContext);
                    var subItemLogic     = new ItemDiscountLogic(_dbContext);
                    var itemLogic        = new ItemLogic(_dbContext);

                    var invoice = new Invoice
                    {
                        Id            = BillBindProp.Id,
                        Status        = (int)InvoiceStatus.Paid,
                        PaidAmount    = ReceivedMoneyBindProp,
                        Tip           = TipBindProp,
                        TotalPrice    = BillBindProp.TotalPrice,
                        IsTakeAway    = BillBindProp.IsTakeAway,
                        FkTable       = BillBindProp.FkTable,
                        CloseDate     = DateTime.Now.ToString(),
                        CustomerCount = BillBindProp.CustomerCount,
                        InvoiceNumber = await GenerateInvoiceNumber()
                    };

                    if (IsEditing)
                    {
                        await invoiceLogic.UpdateAsync(invoice, false);
                    }
                    else
                    {
                        await invoiceLogic.CreateAsync(invoice, false);
                    }

                    if (BillBindProp.IsTakeAway == 0)
                    {
                        await tableLogic.ChangeStatusAsync(new Table
                        {
                            Id         = BillBindProp.FkTable,
                            IsSelected = 0
                        }, false);
                    }

                    foreach (var item in BillBindProp.ListItemInBill)
                    {
                        if (item.Status == Status.New)
                        {
                            await invoiceItemLogic.CreateAsync(new InvoiceItemOrDiscount
                            {
                                FkInvoice        = invoice.Id,
                                FkItemOrDiscount = item.Id,
                                Quantity         = item.Quantity,
                                IsDiscount       = 0,
                                Value            = item.Value
                            }, false);

                            for (int i = 1; i < item.ListSubItem.Count; i++)
                            {
                                await subItemLogic.CreateAsync(new ItemDiscount
                                {
                                    FkItem     = item.Id,
                                    FkDiscount = item.ListSubItem[i].Id,
                                    Value      = item.ListSubItem[i].Value
                                }, false);
                            }
                        }
                        await itemLogic.ModifyQuantityAsync(item.Id, -item.Quantity, false);
                    }

                    foreach (var item in BillBindProp.ListDiscount)
                    {
                        if (item.Status == Status.New)
                        {
                            await invoiceItemLogic.CreateAsync(new InvoiceItemOrDiscount
                            {
                                FkInvoice        = invoice.Id,
                                FkItemOrDiscount = item.Id,
                                Quantity         = item.Quantity,
                                IsDiscount       = 1,
                                Value            = item.Value
                            }, false);
                        }
                    }

                    await _dbContext.SaveChangesAsync();

                    var param = new NavigationParameters();
                    param.Add(Keys.BILL, BillBindProp.Id);
                    await NavigationService.GoBackAsync(param);
                }
            }
            catch (Exception e)
            {
                await ShowError(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
示例#29
0
        // POST: api/Orders
        public HttpResponseMessage PostOrders(AddOrderDTO request)
        {
            HttpResponseMessage responseMessage;
            var token = Request.Headers.SingleOrDefault(x => x.Key == "token").Value.First();

            try
            {
                var userId = db.Tokens.First(u => u.TokenString.Equals(token))?.UserId;
                if (userId > 0)
                {
                    var order = new Orders
                    {
                        Date           = DateTime.Now,
                        UserId         = userId.Value,
                        FirstName      = request.UserDetails.FirstName,
                        LastName       = request.UserDetails.LastName,
                        State          = request.UserDetails.State,
                        Address        = request.UserDetails.StreetAddress,
                        City           = request.UserDetails.City,
                        ZipCode        = request.UserDetails.ZipCode,
                        Phone          = request.UserDetails.Phone,
                        Email          = request.UserDetails.Email,
                        Currency       = request.Currency,
                        Lang           = request.Lang,
                        TransactionId  = request.TransactionId,
                        ProductsOrders = new List <ProductsOrders>()
                    };

                    db.Orders.Add(order);
                    db.SaveChanges();

                    double subtotal    = 0;
                    var    productList = new List <Products>();
                    foreach (var requestProduct in request.CartProducts)
                    {
                        var product = db.Products.Find(requestProduct.Key);
                        if (product?.ProductId > 0)
                        {
                            var productsOrders = new ProductsOrders
                            {
                                ProductId      = product.ProductId,
                                ProductPrice   = GetCurrencyPrice(product, order.Currency),
                                Amount         = requestProduct.Value,
                                OrderId        = order.OrderId,
                                Currency       = order.Currency,
                                ProductProduct = product,
                                Code           = product.StyleCode + " " + product.Colour
                            };

                            subtotal += productsOrders.ProductPrice * productsOrders.Amount;

                            order.ProductsOrders.Add(productsOrders);
                            productList.Add(product);
                        }
                    }

                    order.Subtotal      = subtotal;
                    order.Shipping      = 0;
                    order.PaymentMethod = request.PaymentMethod;

                    db.Orders.Update(order);
                    db.SaveChanges();

                    var InvoiceLogic = new InvoiceLogic(db);
                    var invoice      = InvoiceLogic.CreateInvoice(order);
                    order.Invoice = invoice.ToArray();

                    db.Orders.Update(order);
                    db.SaveChanges();

                    var OrderLogic = new OrderLogic(db);
                    OrderLogic.SendOrderEmail(order, productList, invoice);

                    order.MailSent = true;

                    db.Orders.Update(order);
                    db.SaveChanges();

                    OrderLogic.SendOrderEmailToAdmin(order, productList, invoice);
                }
            }
            catch (DbUpdateException)
            {
                responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest);
                return(responseMessage);
            }

            var json = new JSendMessage("success", "Order successfully added");

            responseMessage = Request.CreateResponse(HttpStatusCode.OK, json);
            return(responseMessage);
        }
示例#30
0
        public HttpResponseMessage CompleteOrder(CompleteOrderDTO request)
        {
            HttpResponseMessage responseMessage;
            JSendMessage        json;
            var token = Request.Headers.SingleOrDefault(x => x.Key == "token").Value.First();

            try
            {
                var userId = db.Tokens.First(u => u.TokenString.Equals(token))?.UserId;
                if (userId > 0)
                {
                    var order = db.Orders.FirstOrDefault(o => o.OrderId == request.OrderId);

                    if (request.PaymentStatus)
                    {
                        order.TransactionId = request.TransactionId;
                        order.PaymentMethod = request.PaymentMethod;

                        db.Orders.Update(order);
                        db.SaveChanges();

                        var InvoiceLogic = new InvoiceLogic(db);
                        var invoice      = InvoiceLogic.CreateInvoice(order);
                        order.Invoice = invoice.ToArray();

                        db.Orders.Update(order);
                        db.SaveChanges();

                        var productList       = new List <Products>();
                        var productOrdersList = db.ProductsOrders.Where(p => p.OrderId == request.OrderId).ToList();
                        foreach (var requestProduct in productOrdersList)
                        {
                            var product = db.Products.Find(requestProduct.ProductId);
                            if (product?.ProductId > 0)
                            {
                                productList.Add(product);
                            }
                        }

                        var OrderLogic = new OrderLogic(db);
                        OrderLogic.SendOrderEmail(order, productList, invoice);

                        order.MailSent = true;

                        db.Orders.Update(order);
                        db.SaveChanges();

                        OrderLogic.SendOrderEmailToAdmin(order, productList, invoice);
                        json = new JSendMessage("success", "Order successfully added");
                    }
                    else
                    {
                        db.Orders.Remove(order);
                        json = new JSendMessage("success", "Order canceled");
                    }

                    responseMessage = Request.CreateResponse(HttpStatusCode.OK, json);
                }
                else
                {
                    responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest);
                }
            }
            catch (Exception)
            {
                responseMessage = Request.CreateResponse(HttpStatusCode.BadRequest);
                return(responseMessage);
            }

            return(responseMessage);
        }
示例#31
0
        public int InsertInvoice(Invoice invoice)
        {
            InvoiceLogic invoiceLogic = this.AbstractProvider.GetAbstractCommonBL <InvoiceLogic>();

            return(invoiceLogic.Insert(invoice));
        }
示例#32
0
 public InvoiceController()
 {
     _invoiceLogic   = new InvoiceLogic();
     _referenceLogic = new ReferenceLogic();
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new AttendanceLogic().SelectForAttendanceReport(DateTime.Today);

        int present = Convert.ToInt32(dt.Rows[0][1]);
        int absent = Convert.ToInt32(dt.Rows[1][1]);


        lblPResentPerc.Text = ((float)present * 100) / ((float)present + absent) + "";
        lblPResentPerc.Attributes.Add("Present", present.ToString());
        lblPResentPerc.Attributes.Add("Absent", absent.ToString());

        DataTable dt1 = new InvoiceLogic().SelectForBestOrder();

        bestOrd.Text = dt1.Rows[0]["ProductName"].ToString();
        totalAmt.Text = dt1.Rows[0]["GrandTotal"].ToString();
        txtCustomer.Text = dt1.Rows[0]["CustomerName"].ToString();
        string dp = dt1.Rows[0]["ProductImage"].ToString();
        String[] arr = dp.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        proimg.Src = arr[arr.Length - 1];

        DataTable dt2 = new InvoiceLogic().SelectForRevenue();
        txtTotIncome.Text = dt2.Rows[0]["TotalIncome"].ToString();

        DataTable dt4 = new InvoiceLogic().SelectIndividualInvoiceAmount();
        string s = "";
        for (int i = 0; i < dt4.Rows.Count; i++)
        {
            s += dt4.Rows[i]["GrandTotal"] + ",";
        }
        s = "[" + s.TrimEnd(',') + "]";
        individualInvoiceAmount.Attributes.Add("data-data", s);


        DataTable dt3 = new ProductLogic().SelectBestProduct();
        OrderNumber.Text = dt3.Rows[0]["Total"].ToString() + " Orders";
        string dp1 = dt3.Rows[0]["DesignFiles"].ToString();
        String[] arr1 = dp1.Split(new String[] { "#,#" }, StringSplitOptions.RemoveEmptyEntries);
        topProimg.Src = arr1[arr1.Length - 1];

        ProName.Text = dt3.Rows[0]["Name"].ToString();
        
        DataTable dt5 = new InvoiceLogic().SelectTotalSale2();
        Repeater2.DataSource = dt5;
        Repeater2.DataBind();
        DataTable dt6 = new InventoryLogic().SelectRawStock();
        Repeater1.DataSource = dt6;
        Repeater1.DataBind();

        CustomerLogic CL = new CustomerLogic();
        Repeater3.DataSource = CL.SelectForReport1();
        Repeater3.DataBind();
        TransitionLogic ol = new TransitionLogic();
        Repeater9.DataSource = ol.SelectProductStatus1(DateTime.Today);
        Repeater9.DataBind();

        TransitionLogic ol2 = new TransitionLogic();
        Repeater4.DataSource = ol2.SelectOrderStatus1(DateTime.Today);
        Repeater4.DataBind();

    }