示例#1
0
        protected override void PageLoad(object sender, EventArgs e)
        {
            GridView = UCcrudGrid;
            GridView.ShowGenericActionButton("Acción");
            GridView.HideDeleteButton();
            GridView.HideNewButton();
            GridView.HideEditButton();

            Alert.PerformMainAction += RejectCreditNote;
            //se elimina el evento de eliminación para que no conflictúe
            Alert.PerformMainAction   -= PerformDeleteItem;
            Alert.PerformSecondAction += AcceptCreditNote;
            Manager = new CreditNoteManager();
        }
示例#2
0
        /// <summary>
        /// Muestra el formulario con las opciones de rechazo o de aceptación.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected override void PerformGenericAction(object sender, UbiquicityEventArg e)
        {
            int id = Convert.ToInt32(e.TheObject.ToString());
            CreditNoteManager creditNoteManager = new CreditNoteManager();
            CreditNote        creditNote        = creditNoteManager.Get(id);

            if (creditNote.Status == CreditNote.StatusType.Pendiente)
            {
                Session["Ubiquicity_itemId"] = id;
                Alert.ShowUP("Nota de crédtio", "Seleccione la acción a ejecutar sobre el reclamo.", "¡Rechazar!", "!Aprobar!");
            }
            else
            {
                Alert.ShowUP("Nota de crédtio", "La nota de crédito ya fue " + creditNote.Status + ".");
            }
        }
示例#3
0
        /// <summary>
        /// Recupera las notas de crédito del usuario en sesión.
        /// </summary>
        /// <param name="user"></param>
        private void LoadCreditNotes(User user)
        {
            try
            {
                CreditNoteManager creditNoteManager = new CreditNoteManager();
                List <CreditNote> creditNotes       = creditNoteManager.Get(user);
                checkCreditNotes.DataSource     = creditNotes;
                checkCreditNotes.DataTextField  = "Description";
                checkCreditNotes.DataValueField = "Id";
                checkCreditNotes.DataBind();

                creditNotesChk.Enabled = (creditNotes != null && creditNotes.Count > 0);
            }
            catch (Exception exception)
            {
                ((front)Master).Alert.Show("Exception", exception.Message);
            }
        }
示例#4
0
        /// <summary>
        /// Si se eligió nc como método de pago, recupera sus ids y crea el método de pago afín..
        /// </summary>
        /// <returns></returns>
        private List <CreditNote> GetCreditNotes()
        {
            List <CreditNote> creditNotes = null;

            if (creditNotesChk.Checked)
            {
                CreditNoteManager creditNoteManager = new CreditNoteManager();

                //Dudo que no haya otro modo más práctico de obtener los ids de las notas de crédito
                //seleccionadas. Se obtienen las elegidas y luego se arma un array de int
                List <ListItem> selected      = checkCreditNotes.Items.Cast <ListItem>().Where(li => li.Selected).ToList();
                int[]           creditNoteIds = new int[selected.Count];
                for (int i = 0; i < selected.Count; ++i)
                {
                    creditNoteIds[i] = Convert.ToInt32(selected[i].Value);
                }

                creditNotes = creditNoteManager.GetBySeveralIds(creditNoteIds);
            }

            return(creditNotes);
        }
示例#5
0
        private void ApproveOrReject(bool approve)
        {
            try
            {
                int id = Convert.ToInt32(Session["Ubiquicity_itemId"]);
                CreditNoteManager creditNoteManager = new CreditNoteManager();
                bool success = creditNoteManager.ApproveOrReject(id, approve);

                if (!success && creditNoteManager.HasErrors)
                {
                    //No se lanza el mensaje!
                    Alert.ShowUP("Error", creditNoteManager.ErrorDescription);
                }
                else
                {
                    LoadGridView();
                }
            }
            catch (Exception exception)
            {
                Alert.ShowUP("Excepción", exception.Message);
            }
        }
示例#6
0
        /// <summary>
        /// Atiende la ejecución de las acciones generadas según el estado del tracking.
        /// </summary>
        /// <param name="source"></param>
        /// <param name="e"></param>
        protected void PerformTrackingAction(object source, RepeaterCommandEventArgs e)
        {
            try
            {
                if (e.CommandName == PERFORM_CLAIM)
                {
                    int invoiceItemId = Convert.ToInt32(e.CommandArgument);
                    CreditNoteManager creditNoteManager = new CreditNoteManager();
                    bool success = creditNoteManager.ClaimCreditNote(invoiceItemId);

                    if (!success && creditNoteManager.HasErrors)
                    {
                        ((front)Master).Alert.Show("Error", creditNoteManager.ErrorDescription);
                    }
                    else
                    {
                        LoadProductTracking();
                        ((front)Master).Alert.Show("Nota de crédito", "Se ha generado una nota de crédito, pendiente de aprobación");
                    }
                }
                else if (e.CommandName == PERFORM_RANKING)
                {
                    SessionUtilHelper.KeepInSession(e.CommandArgument.ToString(), Session);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "openModal", "window.onload = function() { $('#modalRanking').modal('show'); }", true);
                }
                else if (e.CommandName == PERFORM_SUPPORT)
                {
                    SessionUtilHelper.KeepInSession(e.CommandArgument.ToString(), Session);
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "openModal", "window.onload = function() { $('#modalInvoiceItemSupport').modal('show'); }", true);
                    UCModalInvoiceItemSupport.LoadCommentsSupport(Convert.ToInt32(e.CommandArgument.ToString()));
                }
            }
            catch (Exception exception)
            {
                ((front)Master).Alert.Show("Exception", exception.Message);
            }
        }
示例#7
0
 public CreditNoteController(ICreditNoteService creditNoteService)
 {
     _creditNoteManager = new CreditNoteManager(creditNoteService);
 }