/// <summary>
        /// Saves this instance.
        /// </summary>
        /// <returns>Charge</returns>
        protected Charge Save()
        {
            Charge charge = new Charge();
            charge.CreatedOn = DateTime.UtcNow;
            charge.UpdatedOn = DateTime.UtcNow;
            if(ddlVendors.SelectedValue!=null)
                charge.CustomerID =Convert.ToInt32(ddlVendors.SelectedValue);
            if (ddlChargeTypes.SelectedValue != null)
                charge.ChargeTypeID = Convert.ToInt32(ddlChargeTypes.SelectedValue);
            if (!string.IsNullOrEmpty(txtRemarks.Text))
                charge.Remarks = txtRemarks.Text.Trim();
            else
                charge.Remarks = "";
            if (!string.IsNullOrEmpty(txtChargeAmount.Text))
                charge.Amount = Convert.ToDecimal(txtChargeAmount.Text.Trim());
            else
                charge.Amount = 0M;
            charge.IsInvoiceCharge = chkIsInvoiceCharge.Checked;

            charge.Type = ddlType.SelectedIndex+1;
            if (charge.Type == 1)
            {
                charge.PayFrom = NopContext.Current.User.CustomerId;
                charge.PayTo = 0;
            }
            else
            {
                charge.PayFrom = 0;
                charge.PayTo = NopContext.Current.User.CustomerId;
            }
            charge.CreatedBy = NopContext.Current.User.CustomerId;
            charge.UpdatedBy = NopContext.Current.User.CustomerId;
            charge.OrderID = 0;
            charge.EffectiveDate =Convert.ToDateTime(ctrlDatePicker.SelectedDate);
            charge = this.ChargeService.AddCharge(charge.OrderID, charge.ChargeTypeID, charge.CustomerID, charge.Amount, charge.IsInvoiceCharge, charge.Type, charge.Remarks, charge.PayTo, charge.PayFrom, charge.CreatedOn, charge.UpdatedOn, charge.EffectiveDate, charge.CreatedBy, charge.UpdatedBy);
            return charge;
        }
        /// <summary>
        /// Updates the Charge
        /// </summary>
        /// <param name="charge">Charge</param>
        public void UpdateCharge(Charge charge)
        {
            if (charge == null)
                throw new ArgumentNullException("charge");

            charge.UpdatedOn = DateTime.UtcNow;
            if (!_context.IsAttached(charge))
                _context.Charges.Attach(charge);
            _context.SaveChanges();
        }