Beispiel #1
0
        protected void GetWorkshopDetails(string workshopname)
        {
            SqlConnection  con = GetSqlCon.GetCon();
            SqlDataAdapter com = new SqlDataAdapter("GetWorkshopDetails", con);

            com.SelectCommand.CommandType = CommandType.StoredProcedure;
            com.SelectCommand.Parameters.AddWithValue("@param1", workshopname);
            DataTable dtWorkshops = new DataTable();

            com.Fill(dtWorkshops);
            DescOficina.DataSource = dtWorkshops;
            DescOficina.DataBind();

            //rating
            double rating   = Commissions.GetAvgRating(Users.GetWorkshopId(workshopname));
            Label  ratinglb = DescOficina.FindControl("ratinglabel") as Label;

            if (rating == -1)
            {
                ratinglb.Text = "Sem Avaliação";
            }
            else
            {
                ratinglb.Text = rating.ToString() + "/5" + "&#9733";
            }
        }
        public static List <Commissions> getCommissions()
        {
            int           annee            = DateTime.Now.Year;
            String        DebutAnnee       = annee + "-01-01";
            String        FinAnnee         = annee + "-12-31";
            string        connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
            SqlConnection connection       = new SqlConnection(connectionString);
            string        request          = "SELECT  * FROM Commissions WHERE DATE >'" + DebutAnnee + "' AND DATE  <'" + FinAnnee + "'";

            SqlCommand command = new SqlCommand(request, connection);

            try
            {
                connection.Open();
                SqlDataReader      reader = command.ExecuteReader();
                List <Commissions> list   = new List <Commissions>();
                Commissions        ev     = null;
                while (reader.Read())
                {
                    ev = new Commissions((int)reader["Id"], (int)reader["Taux"], (Decimal)reader["Prix"], (string)reader["IdEnchere"], (DateTime)reader["Date"]);
                    list.Add(ev);
                }
                reader.Close();
                return(list);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.Message);
            }
            finally
            {
                connection.Close();
            }
            return(null);
        }
        /// <summary>
        /// Gets the buy commissions.
        /// </summary>
        /// <returns></returns>
        public Commissions GetBuyCommissions()
        {
            if (_buyCommissions == null)
            {
                var setting = _settingRepository.GetByKey(BuyCommissionsKey);
                if (setting == null)
                {
                    // No settings found - Create the application default settings.
                    _buyCommissions = new Commissions
                    {
                        Fixed = new List <CommissionRange>
                        {
                            new CommissionRange {
                                Min = 0, Max = 100000000, Value = 50
                            }
                        },
                        Percentage = new List <CommissionRange>
                        {
                            new CommissionRange {
                                Min = 0, Max = 100000000, Value = 1
                            }
                        }
                    };

                    SaveBuyCommissions(_buyCommissions);
                }
                else
                {
                    _buyCommissions = JsonConvert.DeserializeObject <Commissions>(setting.Value);
                }
            }

            return(_buyCommissions);
        }
Beispiel #4
0
        protected void GetPrices()
        {
            foreach (GridViewRow row in PendingComissions.Rows)
            {
                int id, price;
                int.TryParse(row.Cells[1].Text, out id);
                price = Commissions.GetPrice(id);
                TextBox txtPrice     = row.FindControl("txtPrice") as TextBox;
                Button  BtnOrcamento = row.FindControl("BtnSetPrice") as Button;
                Button  BtnReject    = row.FindControl("BtnRejectComission") as Button;

                if (price != 0)
                {
                    BtnOrcamento.Visible = false;
                    BtnReject.Visible    = false;
                    txtPrice.Text        = price.ToString();
                }
                else
                {
                    txtPrice.ReadOnly = false;
                    txtPrice.Text     = "N/A";
                    txtPrice.ReadOnly = true;
                }
            }
        }
Beispiel #5
0
        protected void GetRatings()
        {
            int value, rejected;


            foreach (GridViewRow row in HistoryOfComissions.Rows)
            {
                value = Commissions.FillRatings(row.Cells[0].Text);
                if (value == -1)
                {
                    Response.Redirect("~/Error.aspx");
                }
                rejected = Commissions.IsRejected(row.Cells[0].Text);
                if (rejected == -1)
                {
                    Response.Redirect("~/Error.aspx");
                }

                if (value != -2)
                {
                    ((HtmlInputGenericControl)row.FindControl("starating")).Value = value.ToString();
                    ((HtmlInputGenericControl)row.FindControl("starating")).Attributes.Add("readonly", "true");
                    ((Button)row.FindControl("BtnSubmitRating")).Visible = false;
                    BadgeCountActiveComissions.Text = rejected.ToString();
                }
                if (rejected == 0)
                {
                    ((HtmlInputGenericControl)row.FindControl("starating")).Visible = false;
                    ((Label)row.FindControl("labelrejected")).Visible    = true;
                    ((Button)row.FindControl("BtnSubmitRating")).Visible = false;
                }
            }
        }
        public JsonResult Update(string id, string valor)
        {
            if (!String.IsNullOrWhiteSpace(id) && !String.IsNullOrWhiteSpace(valor))
            {
                var valorUpdate = IsDecimal(valor.Replace(",", ".")) ? valor.Replace(",", ".") : valor;

                decimal valorAntigo;
                decimal valorModificado;

                //Monta o objeto para update
                var commission = new Commissions().GetById(Settings.AutenticationKeyEarningSystem,
                                                           Convert.ToInt32(id));

                if (commission != null)
                {
                    valorAntigo = commission.Percentage.Value;
                    valorModificado = decimal.Parse(valorUpdate, CultureInfo.InvariantCulture);

                    commission.Percentage = decimal.Parse(valorUpdate, CultureInfo.InvariantCulture);

                    var updateStatus = new Commissions().Update(Settings.AutenticationKeyEarningSystem, commission);

                    if (updateStatus)
                    {
                        var user = FormsAuthenticationUtil.UserAuthenticated;

                        SaveUpdateLog(user.Login, commission.Id.Value, valorAntigo, valorModificado);

                        return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Success, Message = Resources.Resource.GS_Commission_Update_Success }, JsonRequestBehavior.AllowGet);
                    }
                }
            }

            return Json(new JsonRequestResult { ResultType = JsonRequestResultType.Error, Message = Resources.Resource.GS_Commission_Update_Error }, JsonRequestBehavior.AllowGet);
        }
Beispiel #7
0
        public JsonResult CreatePackageCommissionsJSON(string clientName, string packageName, string packageCommissionRate)
        {
            clientName = clientName != null?clientName.Trim() : "";

            packageName = packageName != null?packageName.Trim() : "";

            packageCommissionRate = packageCommissionRate != null?packageCommissionRate.Trim() : "";

            string errorMessage = "";

            if (String.IsNullOrWhiteSpace(clientName))
            {
                errorMessage += "Client Name not provided. ";
            }
            if (String.IsNullOrWhiteSpace(packageName))
            {
                errorMessage += "Package Name not provided. ";
            }

            decimal decPackageCommissionRate = 0;

            if (!decimal.TryParse(packageCommissionRate, out decPackageCommissionRate))
            {
                errorMessage += "Commission Rate is invalid. ";
            }

            errorMessage = errorMessage.Trim();

            if (errorMessage != "")
            {
                return(new JsonResult {
                    Data = new { success = false, message = errorMessage }
                });
            }

            try
            {
                var results = Commissions.CreatePackageCommissions(clientName, packageName, decPackageCommissionRate);

                if (results.Count <= 0)
                {
                    errorMessage += "Record already exists, or Client Name is wrong. ";
                }

                errorMessage = errorMessage.Trim();

                return(new JsonResult {
                    Data = new { success = results.Count > 0, message = errorMessage, packageCommissionID = (results.Count > 0 ? new int?(results[0].PackageCommissionID) : new int?()), clientID = (results.Count > 0 ? results[0].ClientID : ""), clientName = (results.Count > 0 ? results[0].ClientName : ""), packageCommissionRate = (results.Count > 0 ? results[0].PackageCommissionRate.ToString("f2") : "") }
                });
            }
            catch (Exception ex)
            {
                errorMessage += "Record already exists, or Client Name is wrong. \n\n[" + ex.Message + "]";
                errorMessage  = errorMessage.Trim();
                return(new JsonResult {
                    Data = new { success = false, message = errorMessage }
                });
            }
        }
        public ActionResult ManageCommissionPayout()
        {
            var bankaccount = Commissions.GetDirectDeposit();

            bankaccount.AccountNumber = "";

            return(View(bankaccount));
        }
Beispiel #9
0
        public ActionResult ClientsSearchByClientNameJSON(string searchTerm)
        {
            var results = Commissions.ClientsSearchByClientName(searchTerm);

            return(new JsonResult {
                Data = new { success = true, results = results }
            });
        }
Beispiel #10
0
        protected void GridViewComissions_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "EditData")
            {
                int index = Convert.ToInt32(e.CommandArgument);
                GridViewComissions.EditIndex = index;
                _counter2 = index;
            }

            if (e.CommandName == "DeleteData")
            {
                int         index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row   = GridViewComissions.Rows[index];
                string      id    = row.Cells[1].Text;
                if (Commissions.DeleteComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }

            if (e.CommandName == "CancelEdit")
            {
                _counter2 = -1;
                GridViewComissions.EditIndex = _counter;
            }

            if (e.CommandName == "UpdateData")
            {
                int         index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row   = GridViewComissions.Rows[index];

                string       id               = row.Cells[1].Text;
                TextBox      ClientId         = row.FindControl("txtClientId") as TextBox;
                TextBox      WorkshopId       = row.FindControl("txtWorkshopId") as TextBox;
                DropDownList Concluded        = row.FindControl("ddlConcluded") as DropDownList;
                TextBox      txtCreationDate  = row.FindControl("txtCreationDate") as TextBox;
                DateTime     CreationDate     = DateTime.Parse(txtCreationDate.Text);
                TextBox      BicycleModel     = row.FindControl("txtBicycleModel") as TextBox;
                TextBox      BicycleType      = row.FindControl("txtBicycleType") as TextBox;
                TextBox      YearOfAquisition = row.FindControl("txtYearOfAquisition") as TextBox;
                TextBox      Details          = row.FindControl("txtDetails") as TextBox;
                DropDownList Accepted         = row.FindControl("ddlAccepted") as DropDownList;
                TextBox      ComissionNo      = row.FindControl("txtComissionNo") as TextBox;
                TextBox      Rating           = row.FindControl("txtDetails") as TextBox;

                if (Commissions.UpdateComission(id, ClientId.Text, WorkshopId.Text, Concluded.SelectedValue, CreationDate, BicycleModel.Text, BicycleType.Text,
                                                YearOfAquisition.Text, Details.Text, Accepted.SelectedValue, ComissionNo.Text, Rating.Text) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                GridViewComissions.EditIndex = -1;
            }

            UpdateBadges();
            GridViewComissions.DataBind();
            EditTablesUpdatePanel.Update();
        }
 public ActionResult UpdateDirectDeposit(CommissionPayout account)
 {
     if (Commissions.SetDirectDeposit(account))
     {
         return(RedirectToAction("commissionpayout", "account", new { success = true }));
     }
     else
     {
         return(RedirectToAction("managecommissionpayout", "account", new { success = false }));
     }
 }
Beispiel #12
0
 public int Update(Commissions pObjCommissions)
 {
     try
     {
         return(mObjCommissionsTableDAO.Update(pObjCommissions));
     }
     catch (Exception lObjException)
     {
         LogService.WriteError(string.Format("[CommissionsService - Update]: {0}", lObjException.Message));
         throw lObjException;
     }
 }
Beispiel #13
0
        protected void BtnCreateComission_Click(object sender, EventArgs e)
        {
            int Ano;

            int.TryParse(TbAno.Text, out Ano);


            if (!Page.IsValid)
            {
                return;
            }
            ApplicationDbContext context = new ApplicationDbContext();
            var    UserManager           = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(context));
            string user = User.Identity.GetUserId();

            BtnCreateComission.Enabled = false; //Prevenir Flood
            Random rnd = new Random();

            if (LbOficinas.GetSelectedIndices().Count() > 1)
            {
                int var, groupno;

                do
                {
                    groupno = rnd.Next(1, 10000);
                    var     = Commissions.CheckIfGroupExists(groupno);
                    if (var == -1)
                    {
                        Response.Redirect("~/Error.aspx");
                    }
                } while (var != 0);

                foreach (int i in LbOficinas.GetSelectedIndices())
                {
                    if (Commissions.CreateComissionGroup(TbModelo.Text, DdlTipo.SelectedValue, LbOficinas.Items[i].Value, Ano, TbDetails.Text, user, groupno) == false)
                    {
                        Response.Redirect("~/Error.aspx");
                    }
                }
            }
            else
            {
                foreach (int i in LbOficinas.GetSelectedIndices())
                {
                    if (Commissions.CreateComission(TbModelo.Text, DdlTipo.SelectedValue, LbOficinas.Items[i].Value, Ano, TbDetails.Text, user) == false)
                    {
                        Response.Redirect("~/Error.aspx");
                    }
                }
            }

            Response.Redirect("ComissionCreated.aspx");
        }
Beispiel #14
0
 protected void RejectOthers(string id)
 {
     foreach (GridViewRow row in GridViewGroupDetails.Rows)
     {
         if (row.Cells[0].Text != id)
         {
             int comid;
             int.TryParse(row.Cells[0].Text, out comid);
             Commissions.RejectComission(comid);
         }
     }
 }
Beispiel #15
0
        //public dtoAdvStepContainer(Domain.AdvStep step)
        //{
        //    Id = step.Id;
        //    Name = step.Name;
        //    Order = step.Order;
        //    Status = step.Status;
        //    CallId = (step.Call != null) ? step.Call.Id : -1;

        //    if(step.Commissions != null && step.Commissions.Any())
        //    {


        //        Commissions = (from Domain.AdvCommission comm in step.Commissions.OrderByDescending(c => c.IsMaster).ThenBy(c => c.Name).ToList()
        //                       select new dtoAdvCommissionContainer(comm)).ToList();

        //    }
        //}
        /// <summary>
        /// Costruttore da oggetti dominio
        /// </summary>
        /// <param name="step">Step di riferimento</param>
        /// <param name="userId">Id Utente (per calcolo permessi)</param>
        public dtoAdvStepContainer(Domain.AdvStep step, int userId, int creatorId)
        {
            Id             = step.Id;
            Name           = step.Name;
            Order          = step.Order;
            Status         = step.Status;
            CallId         = (step.Call != null) ? step.Call.Id : -1;
            StepPermission = GenericStepPermission.none;

            if (step.Commissions != null) // && step.Commissions.Any())
            {
                //Comm.Criteria.Select(bc => new Eval.dtoCriterion(bc)).OrderBy(c => c.DisplayOrder).ThenBy(c => c.Name).ToList();
                Commissions = step.Commissions.Select(cm => new dtoAdvCommissionContainer(cm, userId)).OrderByDescending(c => c.IsMaster).ThenBy(c => c.Name).ToList();

                StepPermission = GenericStepPermission.none;

                if (Commissions.Any(cm => (cm.GenericPermission & GenericStepPermission.MainPresident) == GenericStepPermission.MainPresident))
                {
                    StepPermission |= GenericStepPermission.MainPresident;
                }

                if (Commissions.Any(cm => (cm.GenericPermission & GenericStepPermission.MainSecretary) == GenericStepPermission.MainSecretary))
                {
                    StepPermission |= GenericStepPermission.MainSecretary;
                }

                if (Commissions.Any(cm => (cm.GenericPermission & GenericStepPermission.President) == GenericStepPermission.President))
                {
                    StepPermission |= GenericStepPermission.President;
                }

                if (Commissions.Any(cm => (cm.GenericPermission & GenericStepPermission.Secretary) == GenericStepPermission.Secretary))
                {
                    StepPermission |= GenericStepPermission.Secretary;
                }

                if (Commissions.Any(cm => (cm.GenericPermission & GenericStepPermission.Member) == GenericStepPermission.Member))
                {
                    StepPermission |= GenericStepPermission.Member;
                }
            }

            if (creatorId > 0 && creatorId == userId)
            {
                StepPermission |= GenericStepPermission.MainPresident;
                StepPermission |= GenericStepPermission.MainSecretary;
                StepPermission |= GenericStepPermission.President;
                StepPermission |= GenericStepPermission.Secretary;
            }
        }
        /// <summary>
        /// Saves the sell commissions.
        /// </summary>
        /// <param name="commissions">The commissions.</param>
        public void SaveSellCommissions(Commissions commissions)
        {
            Validate.NotNull(commissions, nameof(commissions));
            Validate.NotNull(commissions.Fixed, nameof(commissions.Fixed));
            Validate.NotNull(commissions.Percentage, nameof(commissions.Percentage));

            Validate.Minimum(commissions.Fixed.Count, 1, nameof(commissions.Fixed));
            Validate.Minimum(commissions.Percentage.Count, 1, nameof(commissions.Percentage));

            var value   = JsonConvert.SerializeObject(commissions);
            var setting = Setting.Create(SellCommissionsKey, value);

            _settingRepository.Save(setting);
        }
Beispiel #17
0
 protected void RejectOthers(string id)
 {
     foreach (GridViewRow row in GridViewGroupDetails.Rows)
     {
         if (row.Cells[0].Text != id)
         {
             int comid;
             int.TryParse(row.Cells[0].Text, out comid);
             if (Commissions.RejectComission(comid) == false)
             {
                 Response.Redirect("~/Error.aspx");
             }
         }
     }
 }
Beispiel #18
0
        /// <summary>
        /// Sells the supplied quantity of shares at the current market price.
        /// </summary>
        /// <param name="symbol">The share symbol.</param>
        /// <param name="quantity">The quantity to sell.</param>
        /// <param name="price">The sell price per share.</param>
        /// <param name="commissions">The commissions to apply.</param>
        /// <param name="nonce">The nonce value required to detect duplicate orders.</param>
        public void SellShares(string symbol, long quantity, decimal price, Commissions commissions, long nonce)
        {
            Validate.NotNullOrWhitespace(symbol, nameof(symbol));
            Validate.Minimum(quantity, 1, nameof(quantity));
            Validate.Minimum(price, 0.001m, nameof(price));
            Validate.NotNull(commissions, nameof(commissions));

            // Check the nonce value. This will though an exception if invalid.
            CheckNonce(nonce);

            // Calculate all the individual amounts.
            decimal amount = quantity * price;
            decimal fixedCommissionAmount      = GetCommission(commissions.Fixed, amount);
            decimal percentageCommission       = GetCommission(commissions.Percentage, amount);
            decimal percentageCommissionAmount = amount * percentageCommission / 100;
            decimal totalFees   = percentageCommissionAmount + fixedCommissionAmount;
            decimal totalAmount = totalFees - amount;

            if (totalAmount > Balance)
            {
                throw new InvalidTradeException($"The total amount of the transction exceeds the current account balance by ${(totalAmount - Balance):N2}.");
            }

            // Update the position.
            Position position = Positions.FirstOrDefault(p => p.Symbol == symbol);

            if (position == null || position.Quantity < quantity)
            {
                throw new InvalidTradeException($"You cannot sell {quantity} shares of {symbol} because the current position is only {position?.Quantity ?? 0}.");
            }

            position.Sell(quantity);

            if (position.Quantity == 0)
            {
                Positions.Remove(position);
            }

            // Create the transaction records and update the balances.
            Balance = Balance + amount;
            Transactions.Add(Transaction.Create(this, TransactionType.Sell, $"Sold {quantity} shares of {symbol} for ${price:N3} each", amount, Balance));

            Balance = Balance - percentageCommissionAmount;
            Transactions.Add(Transaction.Create(this, TransactionType.Commission, $"Commission {percentageCommission:N2}%", -percentageCommissionAmount, Balance));

            Balance = Balance - fixedCommissionAmount;
            Transactions.Add(Transaction.Create(this, TransactionType.Commission, $"Commission", -fixedCommissionAmount, Balance));
        }
Beispiel #19
0
        /// <summary>
        /// Buys the supplied quantity of shares at the current market price.
        /// </summary>
        /// <param name="symbol">The share symbol.</param>
        /// <param name="quantity">The quantity to buy.</param>
        /// <param name="price">The purchase price per share.</param>
        /// <param name="commissions">The commissions to apply.</param>
        /// <param name="nonce">The nonce value required to detect duplicate orders.</param>
        public void BuyShares(string symbol, long quantity, decimal price, Commissions commissions, long nonce)
        {
            Validate.NotNullOrWhitespace(symbol, nameof(symbol));
            Validate.Minimum(quantity, 1, nameof(quantity));
            Validate.Minimum(price, 0.001m, nameof(price));
            Validate.NotNull(commissions, nameof(commissions));

            // Check the nonce value. This will though an exception if invalid.
            CheckNonce(nonce);

            // Calculate all the individual amounts.
            decimal amount = quantity * price;
            decimal fixedCommissionAmount      = GetCommission(commissions.Fixed, amount);
            decimal percentageCommission       = GetCommission(commissions.Percentage, amount);
            decimal percentageCommissionAmount = amount * percentageCommission / 100;
            decimal totalFees   = percentageCommissionAmount + fixedCommissionAmount;
            decimal totalAmount = amount + totalFees;

            if (totalAmount > Balance)
            {
                throw new InvalidTradeException($"The total amount of the transaction exceeds the current account balance by ${(totalAmount - Balance):N2}.");
            }

            // Find an existing position to update. If none exist, create a new one.
            Position position = Positions.FirstOrDefault(p => p.Symbol == symbol);

            if (position != null)
            {
                position.Buy(quantity, price, totalFees);
            }
            else
            {
                position = Position.Create(this, symbol, quantity, price, totalFees);
                Positions.Add(position);
            }

            // Create the transaction records and update the balances.
            Balance = Balance - amount;
            Transactions.Add(Transaction.Create(this, TransactionType.Buy, $"Purchased {quantity} shares of {symbol} for ${price:N3} each", -amount, Balance));

            Balance = Balance - percentageCommissionAmount;
            Transactions.Add(Transaction.Create(this, TransactionType.Commission, $"Commission {percentageCommission:N2}%", -percentageCommissionAmount, Balance));

            Balance = Balance - fixedCommissionAmount;
            Transactions.Add(Transaction.Create(this, TransactionType.Commission, $"Commission", -fixedCommissionAmount, Balance));
        }
Beispiel #20
0
        public JsonResult RemovePackageCommissionsJSON(string packageCommissionID)
        {
            packageCommissionID = packageCommissionID != null?packageCommissionID.Trim() : "";

            string errorMessage = "";

            int intPackageCommissionID = 0;

            if (!int.TryParse(packageCommissionID, out intPackageCommissionID))
            {
                errorMessage += "PackageCommissionID is invalid. ";
            }

            errorMessage = errorMessage.Trim();

            if (errorMessage != "")
            {
                return(new JsonResult {
                    Data = new { success = false, message = errorMessage }
                });
            }

            try
            {
                var results = Commissions.RemovePackageCommissions(intPackageCommissionID);

                if (results.Count <= 0)
                {
                    errorMessage += "Record was already deleted. ";
                }

                errorMessage = errorMessage.Trim();

                return(new JsonResult {
                    Data = new { success = results.Count > 0, message = errorMessage, packageCommissionID = (results.Count > 0 ? new int?(results[0].PackageCommissionID) : new int?()), clientID = (results.Count > 0 ? results[0].ClientID : ""), clientName = (results.Count > 0 ? results[0].ClientName : ""), packageCommissionRate = (results.Count > 0 ? results[0].PackageCommissionRate.ToString("f2") : "") }
                });
            }
            catch (Exception ex)
            {
                errorMessage += ex.Message;
                errorMessage  = errorMessage.Trim();
                return(new JsonResult {
                    Data = new { success = false, message = errorMessage }
                });
            }
        }
        public DetailsProductionViewModel(string productionId)
        {
            this.productionId = productionId;
            this._popUp       = DependencyService.Get <Services.IPopUp>();

            DeleteCommand = new AsyncCommand(Delete);

            realm = Realm.GetInstance(MyRealmConfig.GetConfig());
            var production = realm.Find <Production>(new ObjectId(productionId));

            Date   = production.DateText;
            Amount = production.Amount;

            foreach (var c in production.Commissions)
            {
                var dtoCommission = new CommissionDTO(c.Peon.Name, c.Value);
                Commissions.Add(dtoCommission);
            }
        }
Beispiel #22
0
        protected void GetRatings()
        {
            int value;

            foreach (GridViewRow row in HistoryOfComissions.Rows)
            {
                value = Commissions.FillRatings(row.Cells[0].Text);
                if (value != -2)
                {
                    ((HtmlInputGenericControl)row.FindControl("starating")).Value = value.ToString();
                    LabelComissoesAtivas.Text = value.ToString();
                }
                else
                {
                    ((HtmlInputGenericControl)row.FindControl("starating")).Visible = false;
                    ((Label)row.FindControl("ratinglabel")).Visible = true;
                }
            }
        }
Beispiel #23
0
        protected void Populate_Details(int groupno)
        {
            string        storedprocedure = "GetComissionDetails";
            SqlConnection cn = GetSqlCon.GetCon();

            if (cn == null)
            {
                Response.Redirect("~/Error.aspx");
            }

            DataTable  dt  = new DataTable();
            SqlCommand cmd = new SqlCommand(storedprocedure, cn);

            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@param1", groupno);
            SqlDataAdapter da = new SqlDataAdapter(cmd);

            da.Fill(dt);
            GridViewGroupDetails.DataSource = dt;
            GridViewGroupDetails.DataBind();
            cn.Close();
            GridViewGroupDetails.Visible = true;

            foreach (GridViewRow row in GridViewGroupDetails.Rows)
            {
                int id, price;
                int.TryParse(row.Cells[0].Text, out id);
                price = Commissions.GetPrice(id);
                Label LabelPrice = row.FindControl("LabelPrice") as Label;
                if (price != 0)
                {
                    LabelPrice.Text = price.ToString();
                }
                else
                {
                    Button BtnAcceptComission = row.FindControl("BtnAcceptComission") as Button;
                    Button BtnRejectComission = row.FindControl("BtnRejectComission") as Button;
                    BtnAcceptComission.Visible = false;
                    BtnRejectComission.Visible = false;
                    LabelPrice.Text            = "N/A";
                }
            }
        }
        /// <summary>
        /// Sells the supplied quantity of shares at the current market price.
        /// </summary>
        /// <param name="userId">The unique identifier of the user who owns the trading account.</param>
        /// <param name="accountId">The unique identifier of the account.</param>
        /// <param name="symbol">The share symbol.</param>
        /// <param name="quantity">The quantity to sell.</param>
        /// <param name="nonce">The nonce value required to detect duplicate orders.</param>
        public void SellSharesAtMarketPrice(Guid userId, Guid accountId, string symbol, long quantity, long nonce)
        {
            Validate.NotEmpty(userId, nameof(userId));
            Validate.NotEmpty(accountId, nameof(accountId));
            Validate.NotNullOrWhitespace(symbol, nameof(symbol));

            Quote quote = _shareQuoteProvider.GetQuote(symbol);

            if (quote == null)
            {
                throw new EntityNotFoundException($"Share with symbol '{symbol}' not found.");
            }

            Commissions commissions = _settingService.GetSellCommissions();

            Account account = GetAccount(userId, accountId);

            account.SellShares(symbol, quantity, quote.Bid, commissions, nonce);
            _accountRepository.Save(account);
        }
Beispiel #25
0
        public static bool insererCommissions(Commissions commi)
        {
            string cStr = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

            using (SqlConnection cnx = new SqlConnection(cStr)) {
                string requete = "INSERT INTO Commissions (Taux, Prix, IdEnchere, Date) VALUES (" + commi.Taux + ", '" + commi.Prix + "', '" + commi.IdEnchere + "', '" + commi.Date.ToString("yyyy-MM-dd") + "')";


                SqlCommand cmd = new SqlCommand(requete, cnx);
                cmd.CommandType = System.Data.CommandType.Text;
                try {
                    cnx.Open();
                    cmd.ExecuteNonQuery();
                    return(true);
                } catch (Exception e) {
                    System.Console.WriteLine(e.Message);
                    return(false);
                } finally {
                    cnx.Close();
                }
            }
        }
Beispiel #26
0
 protected void GetPrices()
 {
     foreach (GridViewRow row in GridViewComissionsPending.Rows)
     {
         int id, price;
         int.TryParse(row.Cells[1].Text, out id);
         price = Commissions.GetPrice(id);
         Label LabelPrice = row.FindControl("LabelPrice") as Label;
         if (price != 0)
         {
             LabelPrice.Text = price.ToString();
         }
         else
         {
             Button BtnAcceptComission = row.FindControl("BtnAcceptComission") as Button;
             Button BtnRejectComission = row.FindControl("BtnRejectComission") as Button;
             BtnAcceptComission.Visible = false;
             BtnRejectComission.Visible = false;
             LabelPrice.Text            = "N/A";
         }
     }
 }
        public ActionResult ListingPercent(int? page)
        {
            try
            {
                var commissionList = new Commissions().SelectAll(Settings.AutenticationKeyEarningSystem);

                var mvcList = new MvcList<CommissionPercentageModel>(commissionList
                                                              .OrderBy(x => x.Id)
                                                              .Take(Settings.PopupListTotalRegisters),
                                                          page.GetValueOrDefault(),
                                                          Settings.PopupListTotalRegisters,
                                                          Settings.PopupListTotalRegisters);

                return PartialView(mvcList);

            }
            catch (Exception ex)
            {
                LogService.Log("GS.CommissionController.Listing() :: Exception : ", ex);
            }

            return PartialView("ListingPercent");
        }
Beispiel #28
0
        protected void Comissions_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "SubmitRating")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id, rating;
                GridViewRow row = HistoryOfComissions.Rows[index];
                int.TryParse(row.Cells[0].Text, out id);
                int.TryParse(((HtmlInputGenericControl)row.FindControl("starating")).Value, out rating);
                if (Commissions.SetRating(id, rating) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                Response.Redirect("Comissions.aspx");
            }

            if (e.CommandName == "SetPrice")
            {
                int         Price_int;
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = PendingComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                TextBox Price = row.FindControl("txtPrice") as TextBox;
                if (!int.TryParse(Price.Text, out Price_int))
                {
                    PriceServerValidator.IsValid = false;
                    ValSum.ValidationGroup       = "ComissionPrice";
                }
                else if (PriceServerValidator.IsValid == false)
                {
                    PriceServerValidator.IsValid = true;
                }

                if (Commissions.AddPrice(id, Price_int) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "RejectComissionWorkshop")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = PendingComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                if (Commissions.RejectComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "ConcludeComission")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = ActiveComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                LabelComissoesAtivas.Text = id.ToString();
                if (Commissions.ConcludeComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "EditPrice")
            {
                int         index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row   = PendingComissions.Rows[index];
                TextBox     Price = row.FindControl("txtPrice") as TextBox;
                if (Price.Text == "N/A")
                {
                    Price.ReadOnly = false;
                    Price.Text     = "";
                    Button BtnSetPrice = row.FindControl("BtnSetPrice") as Button;
                    BtnSetPrice.Visible = false;
                    Button BtnAcceptComission = row.FindControl("BtnAcceptComission") as Button;
                    BtnAcceptComission.Visible = true;
                }
                else
                {
                    return;
                }
                return;
            }

            if (e.CommandName == "AcceptComission")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = GridViewGroupDetails.Rows[index];
                int.TryParse(row.Cells[0].Text, out id);
                if (Commissions.ActivateComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                RejectOthers(row.Cells[0].Text);

                Response.Redirect("~/DualRole/Comissions.aspx");//Errado, mas se não for feito, as avaliações não são carregadas. (erro desconhecido)
            }

            if (e.CommandName == "RejectComission")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = GridViewGroupDetails.Rows[index];
                int.TryParse(row.Cells[0].Text, out id);
                if (Commissions.RejectComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                Response.Redirect("~/DualRole/Comissions.aspx");//Errado, mas se não for feito, as avaliações não são carregadas. (erro desconhecido)
            }

            if (e.CommandName == "ShowGroupDetails")
            {
                int         index = Convert.ToInt32(e.CommandArgument), groupno;
                GridViewRow row = GridViewGroupComissions.Rows[index];
                int.TryParse(row.Cells[0].Text, out groupno);

                Populate_Details(groupno);
            }

            if (e.CommandName == "AcceptComissionNonGroup")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = GridViewComissionsPending.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                if (Commissions.ActivateComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                Response.Redirect("~/DualRole/Comissions.aspx");//Errado, mas se não for feito, as avaliações não são carregadas. (erro desconhecido)
            }
            if (e.CommandName == "RejectComissionNonGroup")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = GridViewComissionsPending.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                if (Commissions.RejectComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                Response.Redirect("~/DualRole/Comissions.aspx");//Errado, mas se não for feito, as avaliações não são carregadas. (erro desconhecido)
            }

            UpdateBadges();
            PopulateGridViews();
            GetRatings();
            GetPrices();
            EditTablesUpdatePanel.Update();
        }
        public ActionResult CommissionPayout()
        {
            var bankaccount = Commissions.GetDirectDeposit();

            return(View(bankaccount));
        }
        /// <summary>
        /// Sums all commissions that a promoter has the rights.
        /// </summary>
        /// <param name="year"></param>
        /// <param name="idPromoter"></param>
        /// <returns></returns>
        public Decimal GetTotalCommissionsByYear(string year, int idPromoter)
        {
            var commissions = new Commissions().SelectConsolidatedCommissionsByYear(Settings.AutenticationKeyEarningSystem, year, idPromoter);

            return commissions
                        .Where(commissionModel => !commissionModel.IsPago)
                        .Sum(commissionModel => commissionModel.ValorComissionamento);
        }
Beispiel #31
0
        protected void Comissions_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "SubmitRating")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id, rating;
                GridViewRow row = HistoryOfComissions.Rows[index];
                int.TryParse(row.Cells[0].Text, out id);
                int.TryParse(((HtmlInputGenericControl)row.FindControl("starating")).Value, out rating);
                if (Commissions.SetRating(id, rating) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }

                Response.Redirect("Comissions.aspx");
            }

            if (e.CommandName == "SetPrice")
            {
                int         Price_int;
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = PendingComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                TextBox Price = row.FindControl("txtPrice") as TextBox;
                if (!int.TryParse(Price.Text, out Price_int))
                {
                    PriceServerValidator.IsValid = false;
                    ValSum.ValidationGroup       = "ComissionPrice";
                }
                else if (PriceServerValidator.IsValid == false)
                {
                    PriceServerValidator.IsValid = true;
                }
                if (Commissions.AddPrice(id, Price_int) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "RejectComission")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = PendingComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                if (Commissions.RejectComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "ConcludeComission")
            {
                int         index = Convert.ToInt32(e.CommandArgument), id;
                GridViewRow row = ActiveComissions.Rows[index];
                int.TryParse(row.Cells[1].Text, out id);
                LabelComissoesAtivas.Text = id.ToString();
                if (Commissions.ConcludeComission(id) == false)
                {
                    Response.Redirect("~/Error.aspx");
                }
            }
            if (e.CommandName == "EditPrice")
            {
                int         index = Convert.ToInt32(e.CommandArgument);
                GridViewRow row   = PendingComissions.Rows[index];
                TextBox     Price = row.FindControl("txtPrice") as TextBox;
                if (Price.Text == "N/A")
                {
                    Price.ReadOnly = false;
                    Price.Text     = "";
                    Button BtnSetPrice = row.FindControl("BtnSetPrice") as Button;
                    BtnSetPrice.Visible = false;
                    Button BtnAcceptComission = row.FindControl("BtnAcceptComission") as Button;
                    BtnAcceptComission.Visible = true;
                }
                else
                {
                    return;
                }
                return;
            }

            UpdateBadges();
            PopulateGridViews();
            GetRatings();
            GetPrices();
        }
        public ActionResult CommissionsReport(int idPeriod = 0, int page = 1)
        {
            var period = new Period().GetAll(Settings.AutenticationKeyEarningSystem).OrderByDescending(m => m.DataInicio).Where(m => m.IdStatusPeriodo == 2 || m.IdStatusPeriodo == 3).ToList();

            ViewBag.Periods = GetPeriodSelectListItem(period, idPeriod);
            if (idPeriod != 0)
            {
                ViewBag.SelectedPeriod = idPeriod;
            }
            else
            {
                var periodAnterior = period.FirstOrDefault(m => m.DataTermino < DateTime.Today);
                if (periodAnterior == null || periodAnterior == new PeriodModel())
                {
                    periodAnterior = period.FirstOrDefault() ?? new PeriodModel();
                }
                ViewBag.SelectedPeriod = periodAnterior.IdPeriodo;
            }


            var consolidatedCommissionModel = new List<ConsolidatedCommissionModel>();

            if (idPeriod != 0)
            {
                consolidatedCommissionModel = new Commissions().SelectConsolidatedCommissions(Settings.AutenticationKeyEarningSystem, idPeriod).ToList();
                ViewBag.TotalComissoes = consolidatedCommissionModel.Sum(m => m.ValorComissionamento);
                ViewBag.TotalComissoesPagas = consolidatedCommissionModel.Where(m => m.IsPago).Sum(m => m.ValorComissionamento);
                ViewBag.TotalCompras = consolidatedCommissionModel.Sum(m => m.ValorPedido);

                ViewBag.IsPartial = period.Any(m => m.IdPeriodo == idPeriod && m.IdStatusPeriodo == 3);

            }

            return View(CreateMvcList(consolidatedCommissionModel, page));
        }
        public ActionResult PrintCommissionsReport(int idPeriod = 0)
        {
            if (idPeriod != 0)
            {
                var period = new Period().Get(Settings.AutenticationKeyEarningSystem, idPeriod);
                ViewBag.Period = period.DataInicio.ToString(Resources.Resource.GS_CommissionsReport_DateFormat) + " - " + period.DataTermino.ToString(Resources.Resource.GS_CommissionsReport_DateFormat);

                if (period.IdStatusPeriodo == 3)
                {
                    ViewBag.Partial = Resources.Resource.GS_CommissionsReport_PartialMsg;
                }
            }
            else
            {
                return View(new List<ConsolidatedCommissionModel>());
            }

            var consolidatedCommissionModel = new List<ConsolidatedCommissionModel>();

            if (idPeriod != 0)
            {
                consolidatedCommissionModel = new Commissions().SelectConsolidatedCommissions(Settings.AutenticationKeyEarningSystem, idPeriod).ToList();
                ViewBag.TotalComissoes = consolidatedCommissionModel.Sum(m => m.ValorComissionamento);
                ViewBag.TotalComissoesPagas = consolidatedCommissionModel.Where(m => m.IsPago).Sum(m => m.ValorComissionamento);
                ViewBag.TotalCompras = consolidatedCommissionModel.Sum(m => m.ValorPedido);
            }

            return View(consolidatedCommissionModel);
        }
        /// <summary>
        /// Method thats build the model with the Commissions for a Period
        /// </summary>
        /// <param name="idPeriod"></param>
        /// <returns></returns>
        public IEnumerable<CommissionModel> MontaModel(string idPeriod)
        {
            try
            {
                if (!String.IsNullOrWhiteSpace(idPeriod))
                {
                    var idPeriodo = Convert.ToInt32(idPeriod);
                    var period = new WS.Period.Period().Get(Settings.AutenticationKeyEarningSystem, idPeriodo);

                    var dtInicio = period != null ? period.DataInicio : DateTime.MinValue;
                    var dtTermino = period != null ? period.DataTermino : DateTime.MaxValue;

                    var promoter = new WS.Promoter.Promoter().GetPromoter(
                        Settings.AutenticationKeyEarningSystem, RetornaidCliente());

                    if (promoter != null)
                    {
                        //Retorna as comissões
                        var commissions = new Commissions().SelectFiltered(
                            Settings.AutenticationKeyEarningSystem, dtInicio, dtTermino, promoter.IdPromoter);

                        var commissionsGroup = (from c in commissions
                                                group c by c.Pedido.IdCliente
                                                    into g
                                                    select new CommissionModel
                                                    {
                                                        Cliente_Pedido = g.Select(m => m.Cliente_Pedido).FirstOrDefault(),
                                                        Cliente = g.Select(m => m.Cliente).FirstOrDefault(),
                                                        Nivel = g.Select(m => m.Nivel).FirstOrDefault(),
                                                        ValorComissao = g.Sum(m => m.ValorComissao),
                                                        ValorPedido = g.Sum(m => m.ValorPedido)
                                                    }).ToArray();



                        return commissions.Any() ? commissionsGroup : new CommissionModel[0];
                    }
                }
            }
            catch (Exception ex)
            {
                LogService.Log("GS.CommissionController.Listing() :: Exception : ", ex);
            }

            return new CommissionModel[0];
        }
Beispiel #35
0
 public Commissions_PackageCommissions()
 {
     this.Results = Commissions.PackageCommissions();
 }
        private void CreateJournalEntry()
        {
            try
            {
                if (cboAcct.Selected == null)
                {
                    UIApplication.ShowError("Seleccione una cuenta");
                    return;
                }

                string lStrBankAccountNum = cboAcct.Selected.Value;
                if (string.IsNullOrEmpty(lStrBankAccountNum))
                {
                    UIApplication.ShowError("Seleccione una cuenta");
                    return;
                }

                string lStrBankAccountCode = mObjTransportServiceFactory.GetBankService().GetBankAccount(lStrBankAccountNum).GLAccount;
                string lStrFolio           = txtFolio.Value;
                string lStrReference       = txtReference.Value;
                string lStrCmsDriverAcct   = new QueryManager().GetValue("U_VALUE", "Name", "TR_ACC_LIQCHOF", "[@UG_Config]");
                string lStrFilePath        = string.Empty;

                if (string.IsNullOrEmpty(lStrFolio))
                {
                    UIApplication.ShowError("Seleccione un folio de comisión");
                    return;
                }

                if (string.IsNullOrEmpty(lStrBankAccountCode))
                {
                    UIApplication.ShowError(string.Format("No se encontró la cuenta para la cuenta bancaria {0}", lStrBankAccountNum));
                    return;
                }

                if (string.IsNullOrEmpty(lStrCmsDriverAcct))
                {
                    UIApplication.ShowError("Agregue un valor en la configuración para el campo TR_ACC_LIQCHOF");
                    return;
                }

                if (dtCommissions.Rows.Count == 0)
                {
                    UIApplication.ShowError("No puede crear la comisión sin líneas");
                    return;
                }

                if (!string.IsNullOrEmpty(mStrFilePath))
                {
                    //mObjTransportServiceFactory.GetAttachmentDI().AttachFile(mStrFilePath);
                    lStrFilePath = AttatchFile(mStrFilePath);
                }

                SAPbobsCOM.JournalEntries lObjJournalEntry = (SAPbobsCOM.JournalEntries)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries);
                lObjJournalEntry.TransactionCode = "TRPG";
                lObjJournalEntry.Reference       = lStrFolio;
                lObjJournalEntry.Reference2      = lStrReference;
                lObjJournalEntry.ReferenceDate   = DateTime.Now;
                lObjJournalEntry.TaxDate         = DateTime.Now;
                lObjJournalEntry.DueDate         = DateTime.Now;

                for (int i = 0; i < dtCommissions.Rows.Count; i++)
                {
                    string lStrEmpId     = dtCommissions.GetValue("EmpId", i).ToString();
                    string lStrEmployee  = dtCommissions.GetValue("EmpNm", i).ToString();
                    double lDblImport    = double.Parse(dtCommissions.GetValue("Import", i).ToString());
                    string lStrFolioLine = dtCommissions.GetValue("FolioCms", i).ToString();
                    string lStrAcctLine  = dtCommissions.GetValue("Acct", i).ToString();

                    lObjJournalEntry.Lines.SetCurrentLine(lObjJournalEntry.Lines.Count - 1);
                    lObjJournalEntry.Lines.TaxDate     = DateTime.Now;
                    lObjJournalEntry.Lines.AccountCode = lStrCmsDriverAcct;
                    lObjJournalEntry.Lines.Debit       = lDblImport;
                    lObjJournalEntry.Lines.Credit      = 0;
                    lObjJournalEntry.Lines.CostingCode = "TR_TRANS";
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_TypeAux").Value  = "2";
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_Auxiliar").Value = lStrEmpId; //code empleado
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_CodeMov").Value  = lStrFolio;
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_File").Value     = lStrFilePath;

                    lObjJournalEntry.Lines.Add();

                    lObjJournalEntry.Lines.SetCurrentLine(lObjJournalEntry.Lines.Count - 1);
                    lObjJournalEntry.Lines.TaxDate     = DateTime.Now;
                    lObjJournalEntry.Lines.AccountCode = lStrBankAccountCode;
                    lObjJournalEntry.Lines.Debit       = 0;
                    lObjJournalEntry.Lines.Credit      = lDblImport;
                    lObjJournalEntry.Lines.CostingCode = "TR_TRANS";
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_TypeAux").Value  = "2";
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_Auxiliar").Value = lStrEmpId; //code empleado
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_CodeMov").Value  = lStrFolio;
                    lObjJournalEntry.Lines.UserFields.Fields.Item("U_GLO_File").Value     = lStrFilePath;

                    lObjJournalEntry.Lines.Add();
                }

                if (lObjJournalEntry.Add() != 0)
                {
                    string lStrLastError = DIApplication.Company.GetLastErrorDescription();
                    UIApplication.ShowMessageBox(string.Format("Error al generar el asiento de la comisión: {0}", DIApplication.Company.GetLastErrorDescription()));
                }
                else
                {
                    int lIntDocEntry = int.Parse(DIApplication.Company.GetNewObjectKey());

                    LogUtility.WriteSuccess(String.Format("[frmDriversCommissions - CreateJournalEntry] Comisión creada correctamente con el DocEntry {0} para el Folio: {1}", lIntDocEntry, lStrFolio));

                    Commissions lObjCommission = mObjTransportServiceFactory.GetCommissionService().GetCommission(lStrFolio);
                    lObjCommission.HasDriverCms = "Y";

                    if (mObjTransportServiceFactory.GetCommissionService().UpdateCommission(lObjCommission) != 0)
                    {
                        throw new Exception(string.Format("Error al modificar el estatus de la comisión {0}", lStrFolio));
                    }


                    //SaveCommissionsRecords(lIntDocEntry);

                    ClearControls();

                    UIApplication.ShowSuccess(string.Format("Comisión creada correctamente con el número de documento: {0}", lIntDocEntry));
                }
            }
            catch (Exception lObjException)
            {
                LogUtility.WriteError(String.Format("[frmDriversCommissions - CreateJournalEntry] Error al crear el asiento contable: {0}", lObjException.Message));
                throw new Exception(string.Format("Error al crear el asiento contable: {0}", lObjException.Message));
            }
            finally
            {
            }
        }
        /// <summary>
        /// Receive the Promoter Id and returns a Select 
        /// list with Years that have an "Product Order" in database
        /// </summary>
        /// <param name="idPromoter"></param>
        /// <returns></returns>
        public List<SelectListItem> GetYearsSelectListItem(int idPromoter)
        {
            var commissions = new Commissions().SelectFiltered(Settings.AutenticationKeyEarningSystem, null, null, idPromoter);

            var firstDateCommission = new DateTime();
            var lastDateCommission = new DateTime();

            var firstOrDefault = commissions.FirstOrDefault();
            if (firstOrDefault != null)
            {
                if (firstOrDefault.DataPedido != null) firstDateCommission = firstOrDefault.DataPedido.Value;
            }

            var lastOrDefault = commissions.LastOrDefault();
            if (lastOrDefault != null)
            {
                if (lastOrDefault.DataPedido != null) lastDateCommission = lastOrDefault.DataPedido.Value;
            }

            var firstYear = firstDateCommission.Year;
            var lastYear = lastDateCommission.Year;
            var listYear = new List<Int32>();

            for (var i = firstYear; i <= lastYear; i++)
            {
                listYear.Add(i);
            }

            return listYear.Select(item => new SelectListItem
                                                    {
                                                        Text = item.ToString(CultureInfo.InvariantCulture),
                                                        Value = item.ToString(CultureInfo.InvariantCulture)
                                                    }).ToList();
        }