Пример #1
0
        protected void rptProductList_ItemCommand(object sender, RepeaterCommandEventArgs e)
        {
            switch (e.CommandName.ToLower())
            {
            case "delete":
                var hddProductExportId = e.Item.FindControl("hddProductExportId") as HiddenField;
                if (hddProductExportId != null && !string.IsNullOrEmpty(hddProductExportId.Value))
                {
                    IvProductExport productExport =
                        Module.GetById <IvProductExport>(Convert.ToInt32(hddProductExportId.Value));
                    Module.Delete(productExport);
                    RefeshProductExportList(Convert.ToInt32(hddProductExportId.Value));
                }
                break;

            default:
                break;
            }
        }
Пример #2
0
        public void PushExport(string exports)
        {
            InventoryServRes res = new InventoryServRes();

            res.BillSuccess        = new Dictionary <int, int>();
            res.BillFails          = new List <int>();
            res.ProductFails       = new List <int>();
            res.BillProductFails   = new Dictionary <int, int>();
            res.BillProductSuccess = new Dictionary <int, int>();
            try
            {
                if (!string.IsNullOrWhiteSpace(exports))
                {
                    var exportList = JsonConvert.DeserializeObject <List <ExportDTO> >(exports);
                    if (exportList.Count > 0)
                    {
                        foreach (var r in exportList)
                        {
                            var count = Module.IvExportCheckByCode(r.Code);
                            if (count <= 0)
                            {
                                var export = new IvExport();

                                try
                                {
                                    if (r.ExportId > 0)
                                    {
                                        export = Module.GetById <IvExport>(r.ExportId);
                                    }
                                    export.ModifiedDate = r.ModifiedDate;
                                    export.Name         = r.Name;
                                    if (r.BookingRoomId > 0)
                                    {
                                        export.BookingRoom = Module.BookingRoomGetById(r.BookingRoomId);
                                        if (export.BookingRoom.Customers != null)
                                        {
                                            export.TotalCustomer = export.BookingRoom.Customers.Count;
                                            export.AverageCost   = export.Pay / export.TotalCustomer;
                                        }
                                    }
                                    export.Code         = r.Code;
                                    export.CreatedDate  = r.CreatedDate;
                                    export.CustomerName = r.CustomerName;
                                    export.Deleted      = r.Deleted;
                                    export.Detail       = r.Detail;
                                    export.Pay          = r.Pay;
                                    if (r.RoomId > 0)
                                    {
                                        export.Room = Module.RoomGetById(r.RoomId);
                                    }
                                    export.Status = r.Status;
                                    if (r.StorageId > 0)
                                    {
                                        export.Storage = Module.IvStorageGetById(r.StorageId);
                                    }
                                    export.ExportDate = r.ExportDate;
                                    export.Total      = r.Total;
                                    export.IsDebt     = r.IsDebt;
                                    export.Agency     = r.Agency;
                                    if (r.CruiseId > 0)
                                    {
                                        export.Cruise = Module.CruiseGetById(r.CruiseId);
                                    }
                                    Module.SaveOrUpdate(export);
                                    res.BillSuccess.Add(r.Id, export.Id);
                                    var isInsertProductSuccess = true;
                                    if (r.ExportProducts.Count > 0)
                                    {
                                        foreach (var p in r.ExportProducts)
                                        {
                                            try
                                            {
                                                var productExport = new IvProductExport();
                                                if (p.ExportProductId > 0)
                                                {
                                                    productExport = Module.GetById <IvProductExport>(p.ExportProductId);
                                                }
                                                productExport.Discount     = p.Discount;
                                                productExport.DiscountType = p.DiscountType;
                                                productExport.Export       = export;
                                                if (p.ProductId > 0)
                                                {
                                                    productExport.Product = Module.IvProductGetById(p.ProductId);
                                                }
                                                productExport.QuanityRateParentUnit = p.QuanityRateParentUnit;
                                                productExport.Quantity = p.Quantity;
                                                if (p.StorageId > 0)
                                                {
                                                    productExport.Storage = Module.IvStorageGetById(p.StorageId);
                                                }
                                                productExport.Total     = p.Total;
                                                productExport.UnitPrice = p.UnitPrice;
                                                if (p.UnitId > 0)
                                                {
                                                    productExport.Unit = Module.IvUnitGetById(p.UnitId);
                                                }
                                                Module.SaveOrUpdate(productExport);
                                                res.BillProductSuccess.Add(p.Id, productExport.Id);
                                            }
                                            catch (Exception e)
                                            {
                                                isInsertProductSuccess = false;
                                                res.ProductFails.Add(p.Id);
                                                res.Exceptions += p.Id + ".Pr :" + e.Message + Environment.NewLine;
                                            }
                                        }
                                    }
                                    if (!isInsertProductSuccess)
                                    {
                                        res.BillProductFails.Add(r.Id, export.Id);
                                        res.BillFails.Add(r.Id);
                                    }
                                }
                                catch (Exception e)
                                {
                                    res.BillFails.Add(r.Id);
                                    res.Exceptions += r.Id + ".Ex: " + e.Message + Environment.NewLine;
                                }
                            }
                        }
                    }
                }
                res.Status = "1";
                HttpContext.Current.Response.ContentType = "application/json";
                HttpContext.Current.Response.Charset     = "utf-8";
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(res));
            }
            catch (Exception e)
            {
                res.Status = "0";
                HttpContext.Current.Response.ContentType = "application/json";
                HttpContext.Current.Response.Charset     = "utf-8";
                HttpContext.Current.Response.Write(JsonConvert.SerializeObject(res));
            }
        }
Пример #3
0
        protected void btnAddNewProduct_Click(object sender, EventArgs e)
        {
            IList     data    = new ArrayList();
            IvStorage storage = null;

            //            if (!string.IsNullOrEmpty(ddlStorage.SelectedValue))
            //                storage = Module.GetById<IvStorage>(Convert.ToInt32(ddlStorage.SelectedValue));
            foreach (RepeaterItem item in rptProductList.Items)
            {
                IvProductExport productExport = new IvProductExport();

                HiddenField hddProductExportId = item.FindControl("hddProductExportId") as HiddenField;
                HiddenField hddProductId       = (HiddenField)item.FindControl("hddProductId");

                TextBox txtCodeProduct  = item.FindControl("txtCodeProduct") as TextBox;
                TextBox txtQuantity     = item.FindControl("txtQuantity") as TextBox;
                TextBox txtUnitPrice    = item.FindControl("txtUnitPrice") as TextBox;
                TextBox txtItemTotal    = item.FindControl("txtTotal") as TextBox;
                var     ddlUnit         = (DropDownList)item.FindControl("ddlUnit");
                TextBox txtDiscount     = item.FindControl("txtDiscount") as TextBox;
                var     ddlDiscountType = item.FindControl("ddlDiscountType") as DropDownList;

                if (!string.IsNullOrEmpty(hddProductExportId.Value))
                {
                    productExport.Id = Convert.ToInt32(hddProductExportId.Value);
                }
                if (!string.IsNullOrEmpty(txtCodeProduct.Text))
                {
                    productExport.Product = Module.IvProductGetByCode(txtCodeProduct.Text.Trim(), storage);
                }
                if (!string.IsNullOrEmpty(hddProductId.Value))
                {
                    productExport.Product = Module.GetById <IvProduct>(Convert.ToInt32(hddProductId.Value));
                }
                if (!string.IsNullOrEmpty(txtUnitPrice.Text))
                {
                    productExport.UnitPrice = Convert.ToDouble(txtUnitPrice.Text);
                }
                if (!string.IsNullOrEmpty(txtQuantity.Text))
                {
                    productExport.Quantity = Convert.ToInt32(txtQuantity.Text);
                }
                if (!string.IsNullOrEmpty(txtItemTotal.Text))
                {
                    productExport.Total = Convert.ToDouble(txtItemTotal.Text);
                }
                if (!string.IsNullOrEmpty(ddlUnit.SelectedValue))
                {
                    productExport.Unit = Module.GetById <IvUnit>(Convert.ToInt32(ddlUnit.SelectedValue));
                }
                if (!string.IsNullOrEmpty(txtDiscount.Text))
                {
                    productExport.Discount = Convert.ToInt32(txtDiscount.Text);
                }
                if (!string.IsNullOrEmpty(ddlDiscountType.SelectedValue))
                {
                    productExport.DiscountType = Convert.ToInt32(ddlDiscountType.SelectedValue);
                }
                productExport.Export = _currentExport;
                data.Add(productExport);
            }

            data.Add(new IvProductExport());
            rptProductList.DataSource = data;
            _total = 0;
            rptProductList.DataBind();
            rptProductListItems.Value = data.Count.ToString();
        }
Пример #4
0
        protected void btnSaveProductExport_Click(object sender, EventArgs e)
        {
            try
            {
                #region ---Save Customer Infomation--

                IvStorage storage = null;
                //if (!string.IsNullOrEmpty(ddlStorage.SelectedValue))
                //    storage = Module.GetById<IvStorage>(Convert.ToInt32(ddlStorage.SelectedValue));
                _currentExport.Storage = storage;

                _currentExport.CustomerName = txtCustomerName.Text;

                #endregion

                #region --- Save Current Export---

                _currentExport.Name = txtName.Text;
                int flag = Module.CountExportGetByCode(txtCode.Text);
                if (flag > 0 && _currentExport.Id <= 0)
                {
                    ShowErrors("Mã phiếu đã tồn tại");
                    return;
                }
                _currentExport.Code       = txtCode.Text;
                _currentExport.Detail     = txtDetail.Text;
                _currentExport.ExportedBy = UserIdentity.UserName;
                if (chkIsDebt.Checked)
                {
                    _currentExport.IsDebt = true;
                    _currentExport.Agency = txtAgency.Text;
                }
                if (!string.IsNullOrEmpty(txtExportedDate.Text))
                {
                    _currentExport.ExportDate = DateTime.ParseExact(txtExportedDate.Text, "dd/MM/yyyy",
                                                                    CultureInfo.InvariantCulture);
                }
                else
                {
                    _currentExport.ExportDate = DateTime.Now;
                }
                if (!string.IsNullOrWhiteSpace(txtPay.Text))
                {
                    _currentExport.Pay = Convert.ToDouble(txtPay.Text);
                }
                if (_bookingRoom != null && _bookingRoom.Id > 0)
                {
                    _currentExport.BookingRoom = _bookingRoom;
                    _currentExport.Room        = _bookingRoom.Room;
                }
                Module.SaveOrUpdate(_currentExport, UserIdentity);

                ShowErrors("Cập nhật dữ liệu thành công");

                #endregion

                double sum = 0;

                foreach (RepeaterItem item in rptProductList.Items)
                {
                    HiddenField hddProductExportId = item.FindControl("hddProductExportId") as HiddenField;
                    HiddenField hddProductId       = (HiddenField)item.FindControl("hddProductId");

                    TextBox txtCodeProduct  = item.FindControl("txtCodeProduct") as TextBox;
                    TextBox txtQuantity     = item.FindControl("txtQuantity") as TextBox;
                    TextBox txtUnitPrice    = item.FindControl("txtUnitPrice") as TextBox;
                    TextBox txtTotal        = item.FindControl("txtTotal") as TextBox;
                    var     ddlUnit         = (DropDownList)item.FindControl("ddlUnit");
                    TextBox txtDiscount     = item.FindControl("txtDiscount") as TextBox;
                    var     ddlDiscountType = item.FindControl("ddlDiscountType") as DropDownList;

                    if (!string.IsNullOrEmpty(hddProductExportId.Value))
                    {
                        int             id            = Convert.ToInt32(hddProductExportId.Value);
                        IvProductExport productExport = Module.GetById <IvProductExport>(id);

                        IvProduct proCheck = Module.IvProductGetByCode(txtCodeProduct.Text.Trim(), storage);
                        if (!string.IsNullOrWhiteSpace(hddProductId.Value))
                        {
                            proCheck = Module.GetById <IvProduct>(Convert.ToInt32(hddProductId.Value));
                        }
                        if (proCheck != null && proCheck.Id > 0)
                        {
                            productExport.Product = proCheck;
                            if (!string.IsNullOrWhiteSpace(txtQuantity.Text))
                            {
                                productExport.Quantity = Convert.ToInt32(txtQuantity.Text);
                            }
                            if (!string.IsNullOrWhiteSpace(txtUnitPrice.Text))
                            {
                                productExport.UnitPrice = Convert.ToDouble(txtUnitPrice.Text);
                            }
                            if (!string.IsNullOrWhiteSpace(txtQuantity.Text) && !string.IsNullOrWhiteSpace(txtUnitPrice.Text))
                            {
                                productExport.Total = Convert.ToInt32(txtQuantity.Text) * Convert.ToDouble(txtUnitPrice.Text);
                            }
                            productExport.Export  = _currentExport;
                            productExport.Storage = storage;
                            if (!string.IsNullOrWhiteSpace(txtDiscount.Text))
                            {
                                if (ddlDiscountType.SelectedValue == "0")
                                {
                                    productExport.Total = productExport.Total - ((productExport.Total / 100) * Convert.ToInt32((txtDiscount.Text)));
                                }
                                else
                                {
                                    productExport.Total = productExport.Total - Convert.ToInt32(txtDiscount.Text);
                                }
                            }
                            sum += productExport.Total;
                            if (!string.IsNullOrWhiteSpace(ddlUnit.SelectedValue))
                            {
                                productExport.Unit = Module.GetById <IvUnit>(Convert.ToInt32(ddlUnit.SelectedValue));
                                productExport.QuanityRateParentUnit =
                                    IvProductUtil.ConvertRateParentUnit(productExport.Quantity, productExport.Unit);
                            }
                            if (!string.IsNullOrWhiteSpace(txtDiscount.Text))
                            {
                                productExport.Discount     = Convert.ToInt32(txtDiscount.Text);
                                productExport.DiscountType = Convert.ToInt32(ddlDiscountType.SelectedValue);
                            }
                            Module.SaveOrUpdate(productExport, UserIdentity);
                        }
                    }
                    else
                    {
                        IvProductExport productExport = new IvProductExport();

                        IvProduct proCheck = Module.IvProductGetByCode(txtCodeProduct.Text.Trim(), storage);
                        if (!string.IsNullOrWhiteSpace(hddProductId.Value))
                        {
                            proCheck = Module.GetById <IvProduct>(Convert.ToInt32(hddProductId.Value));
                        }
                        if (proCheck != null && proCheck.Id > 0)
                        {
                            productExport.Product = proCheck;
                            if (!string.IsNullOrWhiteSpace(txtQuantity.Text))
                            {
                                productExport.Quantity = Convert.ToInt32(txtQuantity.Text);
                            }
                            if (!string.IsNullOrWhiteSpace(txtUnitPrice.Text))
                            {
                                productExport.UnitPrice = Convert.ToDouble(txtUnitPrice.Text);
                            }
                            if (!string.IsNullOrWhiteSpace(txtQuantity.Text) && !string.IsNullOrWhiteSpace(txtUnitPrice.Text))
                            {
                                productExport.Total = Convert.ToInt32(txtQuantity.Text) * Convert.ToDouble(txtUnitPrice.Text);
                            }
                            productExport.Export = _currentExport;
                            if (!string.IsNullOrWhiteSpace(txtDiscount.Text))
                            {
                                if (ddlDiscountType.SelectedValue == "0")
                                {
                                    productExport.Total = productExport.Total - ((productExport.Total / 100) * Convert.ToInt32((txtDiscount.Text)));
                                }
                                else
                                {
                                    productExport.Total = productExport.Total - Convert.ToInt32(txtDiscount.Text);
                                }
                            }
                            sum += productExport.Total;
                            productExport.Storage = storage;
                            if (!string.IsNullOrWhiteSpace(ddlUnit.SelectedValue))
                            {
                                productExport.Unit = Module.GetById <IvUnit>(Convert.ToInt32(ddlUnit.SelectedValue));
                                productExport.QuanityRateParentUnit =
                                    IvProductUtil.ConvertRateParentUnit(productExport.Quantity, productExport.Unit);
                            }
                            if (!string.IsNullOrWhiteSpace(txtDiscount.Text))
                            {
                                productExport.Discount     = Convert.ToInt32(txtDiscount.Text);
                                productExport.DiscountType = Convert.ToInt32(ddlDiscountType.SelectedValue);
                            }
                            Module.SaveOrUpdate(productExport, UserIdentity);
                        }
                    }
                }
                _currentExport.Total = sum;
                if (_currentExport.Pay >= _currentExport.Total && _currentExport.Total > 0)
                {
                    _currentExport.Status = IvExportType.Paid;
                }
                else
                {
                    _currentExport.Status = IvExportType.Pay;
                }
                Module.SaveOrUpdate(_currentExport, UserIdentity);
                LoadInfoExport();
                BindrptProductList();

                PageRedirect(string.Format("IvExportAdd.aspx?NodeId={0}&SectionId={1}&ExportId={2}", Node.Id,
                                           Section.Id, _currentExport.Id));
            }
            catch (Exception ex)
            {
                ShowErrors(ex.Message);
            }
        }
Пример #5
0
        protected void rptProductList_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.DataItem is IvProductExport)
            {
                IvProductExport productExport = (IvProductExport)e.Item.DataItem;
                double          quantity      = 0;
                double          unitprice     = 0;

                HiddenField hddId = e.Item.FindControl("hddProductExportId") as HiddenField;
                if (hddId != null)
                {
                    if (productExport.Id > 0)
                    {
                        hddId.Value = productExport.Id.ToString();
                    }
                }
                HiddenField hddProductId = e.Item.FindControl("hddProductId") as HiddenField;
                if (hddProductId != null)
                {
                    if (productExport.Id > 0)
                    {
                        hddProductId.Value = productExport.Product.Id.ToString();
                    }
                }
                Label lblName = e.Item.FindControl("lblName") as Label;
                if (lblName != null)
                {
                    if (productExport.Product != null)
                    {
                        lblName.Text = productExport.Product.Name;
                    }
                    else
                    {
                        lblName.Text = "";
                    }
                }

                //TextBox txtCode = e.Item.FindControl("txtCodeProduct") as TextBox;
                //if (txtCode != null)
                //{
                //    if (productExport.Product != null)
                //    {
                //        txtCode.Text = productExport.Product.BarCode;
                //    }
                //    else
                //    {
                //        txtCode.Text = "";
                //    }
                //}

                TextBox txtQuantity = e.Item.FindControl("txtQuantity") as TextBox;
                if (txtQuantity != null)
                {
                    if (productExport.Quantity > 0)
                    {
                        txtQuantity.Text = productExport.Quantity.ToString();
                        quantity         = Convert.ToDouble(productExport.Quantity.ToString());
                    }
                    else
                    {
                        txtQuantity.Text = "";
                    }
                }
                var ddlUnit = (DropDownList)e.Item.FindControl("ddlUnit");
                if (ddlUnit != null)
                {
                    ddlUnit.DataSource     = _ivUnits;
                    ddlUnit.DataValueField = "Id";
                    ddlUnit.DataTextField  = "NameTree";
                    ddlUnit.DataBind();
                    ddlUnit.Items.Insert(0, new ListItem(" -- chọn --", ""));
                    if (productExport.Unit != null)
                    {
                        ddlUnit.SelectedValue = productExport.Unit.Id.ToString();
                    }
                }
                TextBox txtUnitPrice = e.Item.FindControl("txtUnitPrice") as TextBox;
                if (txtUnitPrice != null)
                {
                    if (productExport.UnitPrice > 0)
                    {
                        txtUnitPrice.Text = productExport.UnitPrice.ToString();
                        unitprice         = Convert.ToDouble(productExport.UnitPrice.ToString());
                    }
                    else
                    {
                        txtUnitPrice.Text = "";
                    }
                }

                TextBox txtItemTotal = e.Item.FindControl("txtTotal") as TextBox;
                double  total;
                if (txtItemTotal != null)
                {
                    total             = productExport.Total;
                    _total           += total;
                    txtItemTotal.Text = total.ToString();
                }
                TextBox txtDiscount     = e.Item.FindControl("txtDiscount") as TextBox;
                var     ddlDiscountType = e.Item.FindControl("ddlDiscountType") as DropDownList;

                if (productExport.Discount > 0)
                {
                    txtDiscount.Text = productExport.Discount.ToString();
                    ddlDiscountType.SelectedValue = productExport.DiscountType.ToString();
                }
                txtQuantity.Attributes.Add("onkeyup",
                                           string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                         txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));
                txtQuantity.Attributes.Add("onchange",
                                           string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                         txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));

                txtUnitPrice.Attributes.Add("onkeyup",
                                            string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                          txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));
                txtUnitPrice.Attributes.Add("onchange",
                                            string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                          txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));
                txtDiscount.Attributes.Add("onkeyup",
                                           string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                         txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));
                txtDiscount.Attributes.Add("onchange",
                                           string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                         txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));
                ddlDiscountType.Attributes.Add("onchange",
                                               string.Format("Calculate('{0}','{1}','{2}','{3}','{4}');", txtUnitPrice.ClientID,
                                                             txtQuantity.ClientID, txtItemTotal.ClientID, txtDiscount.ClientID, ddlDiscountType.ClientID));


                TextBox txtCodeProduct = e.Item.FindControl("txtCodeProduct") as TextBox;
                if (txtCodeProduct != null && lblName != null && txtUnitPrice != null)
                {
                    if (productExport.Product != null)
                    {
                        txtCodeProduct.Text = productExport.Product.Code;
                    }
                    else
                    {
                        txtCodeProduct.Text = "";
                    }
                    txtCodeProduct.Attributes.Add("onchange",
                                                  string.Format("GetProduct('{0}','{1}','{2},{0},{3}');", "ajaxloader",
                                                                txtCodeProduct.ClientID, lblName.ClientID,
                                                                txtUnitPrice.ClientID));
                    txtCodeProduct.Attributes.Add("onfocus",
                                                  string.Format("GetProduct('{0}','{1}','{2},{0},{3}');", "ajaxloader",
                                                                txtCodeProduct.ClientID, lblName.ClientID,
                                                                txtUnitPrice.ClientID));
                }
                txtGrandTotal.Text = _total.ToString("#,0.#");
                txtTotal.Text      = _total.ToString("#,0.#");
                ImageButton btnDelete = e.Item.FindControl("btnDelete") as ImageButton;
                {
                    if (btnDelete != null)
                    {
                        btnDelete.CommandArgument = productExport.Id.ToString();
                    }
                }
            }
        }