예제 #1
0
        public IHttpActionResult GetAllRequests([FromUri] string username, [FromUri] ViewCriteria criteria)
        {
            if (string.IsNullOrEmpty(username) ||
                (criteria.Order.ToLower() != "asc" && criteria.Order.ToLower() != "desc"))
            {
                return(BadRequest());
            }

            var user = this._usersService.GetUserByUsername(username);

            if (user == null)
            {
                return(NotFound());
            }

            if (this._currentUserId != user.Id)
            {
                return(Content(HttpStatusCode.Forbidden, "You can see only your requests."));
            }

            var requests = this._requestsService.GetUserRequests(this._currentUserId, criteria.Order, criteria.Skip, criteria.Take)
                           .Select(r => new RequestViewModel(r.Id, r.Group.Name, r.Group.Owner.DisplayName, r.ReceivedAt));

            return(Ok(requests));
        }
예제 #2
0
 private void ViewCriteria_KeyDown(object sender, KeyEventArgs e)
 {
     if (e.KeyCode == Keys.Escape)
     {
         ViewCriteria.CancelUpdateCurrentRow();
     }
     //else if (e.KeyValue == 13)
     //{
     //    SaveAllUpdatedList();
     //}
 }
예제 #3
0
        public IHttpActionResult GetAllUsers([FromUri] ViewCriteria criteria)
        {
            if (criteria.Order.ToLower() != "asc" && criteria.Order.ToLower() != "desc")
            {
                return(BadRequest());
            }

            var users = this._usersService
                        .GetUsers(criteria.Skip, criteria.Take, criteria.Order, criteria.Search)
                        .Select(u => new UserShortViewModel(u.UserName, u.DisplayName, u.PhoneNumber, u.Email))
                        .ToList();

            return(Ok(users));
        }
예제 #4
0
        private void SaveAllUpdatedList()
        {
            ViewCriteria.CloseEditForm();
            ViewCriteria.UpdateCurrentRow();
            List <string> updateQueries = new List <string>();

            for (int i = 0; i < ViewCriteria.RowCount; i++)
            {
                if (ViewCriteria.GetRowCellValue(i, "IsEdited").ToString().Equals("1"))
                {
                    long   corID      = Convert.ToInt64(ViewCriteria.GetRowCellValue(i, "CriteriaID"));
                    string critName   = ViewCriteria.GetRowCellValue(i, "CriteriaName").ToString();
                    string percentage = ViewCriteria.GetRowCellValue(i, "Percentage").ToString();
                    string query      = "UPDATE attendance_db.tblcriteria SET CriteriaName = '" + db.CorrectCasing(critName) + "', Percentage = " + percentage + " WHERE CriteriaID = " + corID + "";
                    updateQueries.Add(query);
                }
                else if (ViewCriteria.GetRowCellValue(i, "IsEdited").ToString().Equals("2"))
                {
                    if (InputValidation(""))
                    {
                        string critNames = ViewCriteria.GetRowCellValue(i, "CriteriaName").ToString();
                        double percent   = Convert.ToDouble(ViewCriteria.GetRowCellValue(i, "Percentage"));
                        string query     = "INSERT INTO `attendance_db`.`tblcriteria` (`CriteriaName`, `Percentage`, `UserID` ,`Active`) VALUES ('" + db.CorrectCasing(critNames) + "', '" + percent + "', " + userid + " , 1)";
                        updateQueries.Add(query);
                    }
                }
            }
            if (updateQueries.Count > 0)
            {
                if (DialogResult.Yes == MessageBox.Show("Are you sure you want to save the following items. ", "Question", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    if (db.RunTransaction(updateQueries))
                    {
                        MessageBox.Show("Selected records updated successfully. ", "Update Record", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        GridCriteria.DataSource = null;
                        LoadData();
                    }
                }
                else
                {
                    LoadData();
                }
                DateTime dateValue = DateTime.Now;
            }
        }
예제 #5
0
 private void ViewCriteria_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
 {
     try
     {
         if (!e.Column.FieldName.ToString().Equals("IsEdited"))
         {
             if (ViewCriteria.GetRowCellValue(e.RowHandle, "CriteriaID").ToString().Equals(""))
             {
                 ViewCriteria.SetRowCellValue(e.RowHandle, "IsEdited", "2");
             }
             else
             {
                 ViewCriteria.SetRowCellValue(e.RowHandle, "IsEdited", "1");
             }
         }
     }
     catch (Exception ex) {
         MessageBox.Show(ex.Message);
     }
 }
예제 #6
0
 private void ViewCriteria_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e)
 {
     try
     {
         if (ViewCriteria.GetRowCellValue(e.RowHandle, "IsEdited") == null)
         {
             return;
         }
         else if (ViewCriteria.GetRowCellValue(e.RowHandle, "IsEdited").ToString().Equals("1"))
         {
             e.Appearance.BackColor = Color.DeepSkyBlue;
         }
         else if (ViewCriteria.GetRowCellValue(e.RowHandle, "IsEdited").ToString().Equals("2"))
         {
             e.Appearance.BackColor = Color.Beige;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
예제 #7
0
        public bool InputValidation(string cons)
        {
            List <string> queries = new List <string>();
            double        total   = 0;

            for (int i = 0; i < ViewCriteria.RowCount; i++)
            {
                if (ViewCriteria.GetRowCellValue(i, "IsEdited").ToString().Equals("2"))
                {
                    string    critname = ViewCriteria.GetRowCellValue(i, "CriteriaName").ToString();
                    double    percent  = Convert.ToDouble(ViewCriteria.GetRowCellValue(i, "Percentage"));
                    string    query    = "SELECT * FROM tblcriteria WHERE CriteriaName ='" + db.CorrectCasing(critname) + "' AND Percentage = " + percent + " AND UserID = " + userid + " AND Active =1";
                    DataTable tbl      = db.SelectQuery(query);
                    if (tbl.Rows.Count != 0)
                    {
                        MessageBox.Show("Duplicate information", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        LoadData();
                        return(false);
                    }
                }
                total += Convert.ToDouble(ViewCriteria.GetRowCellValue(i, "Percentage"));
                string critname1 = ViewCriteria.GetRowCellValue(i, "CriteriaName").ToString();
                double percent1  = Convert.ToDouble(ViewCriteria.GetRowCellValue(i, "Percentage"));
                if (ViewCriteria.GetRowCellValue(i, "CriteriaName").ToString().Equals(critname1) && ViewCriteria.GetRowCellValue(i, "Percentage").ToString().Equals(percent1))
                {
                    MessageBox.Show("Duplicate information", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return(false);
                }
            }
            if (total != 100.00)
            {
                MessageBox.Show("The total percentage of all criteria must be 100%.", "Warning",
                                MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(false);
            }
            return(true);
        }
예제 #8
0
        private void button1_Click(object sender, EventArgs e)
        {
            string id   = ViewCriteria.GetRowCellValue(selectedIndex, "CriteriaID").ToString();
            string name = ViewCriteria.GetRowCellValue(selectedIndex, "CriteriaName").ToString();

            if (name != "Attendance")
            {
                if (DialogResult.Yes == MessageBox.Show("Are you sure , you want to delete the selected item?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                {
                    string delete = "UPDATE tblcriteria SET Active = 0 WHERE CriteriaID = " + id;
                    int    result = db.RunUpdateQuery(delete);

                    if (result > 0)
                    {
                        MessageBox.Show("Criteria is deleted");
                        LoadData();
                    }
                }
            }
            else
            {
                MessageBox.Show("Criteria must have " + name, "Can't Delete", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #9
0
        /// <summary>
        /// Find open opportunities based on contact or org.
        /// </summary>
        /// <param name="attribute"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public List <OpportunityModel> FindOpenOpportunities(string attribute, string value)
        {
            try
            {
                ViewCriteriaItem item = new ViewCriteriaItem();
                item.upperCaseCompare = false;
                item.attribute        = attribute;
                item.@operator        = "=";
                item.Items            = new[] { value };

                ViewCriteriaItem item2 = new ViewCriteriaItem();
                item2.upperCaseCompare = true;
                item2.attribute        = "StatusCode";
                item2.@operator        = "=";
                item2.Items            = new[] { "Open" };

                ViewCriteriaRow condition1 = new ViewCriteriaRow();
                condition1.upperCaseCompare = false;
                condition1.item             = new[] { item, item2 };

                ViewCriteria viewCriteria = new ViewCriteria();
                viewCriteria.conjunction = Conjunction.And;
                viewCriteria.group       = new[] { condition1 };

                //Sorting by Creation date.
                SortAttribute sortAttr = new SortAttribute();
                sortAttr.name       = "CreationDate";
                sortAttr.descending = true;

                FindCriteria findCriteria = new FindCriteria();
                findCriteria.fetchStart = 0;
                findCriteria.fetchSize  = 500;
                findCriteria.filter     = viewCriteria;
                findCriteria.sortOrder  = new[] { sortAttr };

                findCriteria.findAttribute = new string[]
                {
                    "KeyContactId",
                    "PrimaryContactPartyName",
                    "SalesAccountId",
                    "TargetPartyName",
                    "OptyId",
                    "OptyNumber",
                    "PartyName1",
                    "EmailAddress",
                    "Name",
                    "Description",
                    "StatusCode",
                    "SalesMethod",
                    "SalesStage",
                    "SalesChannelCd",
                    "CurrencyCode",
                    "Revenue",
                    "WinProb",
                    "CreatedBy",
                    "CreationDate",
                    "EffectiveDate"
                };

                FindControl findControl = new FindControl();

                Opportunity[] opp = _opportunityClient.findOpportunity(findCriteria, findControl);

                return(getOpportunityModels(opp));
            }
            catch (EndpointNotFoundException wex)
            {
                //Handling incorrect opportunity endpoint
                _logger.Error(wex.Message, wex.StackTrace);
                MessageBox.Show(OSCExceptionMessages.EndpointNotFound,
                                OSCOpportunitiesCommon.EndpointNotFound, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (MessageSecurityException mse)
            {
                //Handling incorrect credentials
                _logger.Error(mse.Message, mse.StackTrace);
                MessageBox.Show(OSCExceptionMessages.OpportunityAuthError,
                                OSCOpportunitiesCommon.OpportunityAuthError, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (CommunicationException ce)
            {
                //Handling maximum reponse size exceeded
                _logger.Error(ce.Message, ce.StackTrace);
                MessageBox.Show(OSCExceptionMessages.MaxReceivedMessageSizeExceeded,
                                OSCOpportunitiesCommon.MaxReceivedMessageSizeExceededTitle, MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message, ex.StackTrace);
                MessageBox.Show(OSCExceptionMessages.UnexpectedError,
                                "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(null);
        }
예제 #10
0
        /// <summary>
        /// Find open opportunities based on contact or org.
        /// </summary>
        /// <param name="attribute"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public List<OpportunityModel> FindOpenOpportunities(string attribute, string value)
        {
            try
            {
                ViewCriteriaItem item = new ViewCriteriaItem();
                item.upperCaseCompare = false;
                item.attribute = attribute;
                item.@operator = "=";
                item.Items = new[] {value};

                ViewCriteriaItem item2 = new ViewCriteriaItem();
                item2.upperCaseCompare = true;
                item2.attribute = "StatusCode";
                item2.@operator = "=";
                item2.Items = new[] {"Open"};

                ViewCriteriaRow condition1 = new ViewCriteriaRow();
                condition1.upperCaseCompare = false;
                condition1.item = new[] {item, item2};

                ViewCriteria viewCriteria = new ViewCriteria();
                viewCriteria.conjunction = Conjunction.And;
                viewCriteria.group = new[] {condition1};

                //Sorting by Creation date.
                SortAttribute sortAttr = new SortAttribute();
                sortAttr.name = "CreationDate";
                sortAttr.descending = true;

                FindCriteria findCriteria = new FindCriteria();
                findCriteria.fetchStart = 0;
                findCriteria.fetchSize = 500;
                findCriteria.filter = viewCriteria;
                findCriteria.sortOrder = new[] {sortAttr};

                findCriteria.findAttribute = new string[]
                {
                    "KeyContactId",
                    "PrimaryContactPartyName",
                    "SalesAccountId",
                    "TargetPartyName",
                    "OptyId",
                    "OptyNumber",
                    "PartyName1",
                    "EmailAddress",
                    "Name",
                    "Description",
                    "StatusCode",
                    "SalesMethod",
                    "SalesStage",
                    "SalesChannelCd",
                    "CurrencyCode",
                    "Revenue",
                    "WinProb",
                    "CreatedBy",
                    "CreationDate",
                    "EffectiveDate"
                };

                FindControl findControl = new FindControl();

                Opportunity[] opp = _opportunityClient.findOpportunity(findCriteria, findControl);

                return getOpportunityModels(opp);
            }
            catch (EndpointNotFoundException wex)
            {
                //Handling incorrect opportunity endpoint
                _logger.Error(wex.Message, wex.StackTrace);
                MessageBox.Show(OSCExceptionMessages.EndpointNotFound,
                    OSCOpportunitiesCommon.EndpointNotFound, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (MessageSecurityException mse)
            {
                //Handling incorrect credentials
                _logger.Error(mse.Message, mse.StackTrace);
                MessageBox.Show(OSCExceptionMessages.OpportunityAuthError,
                    OSCOpportunitiesCommon.OpportunityAuthError, MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            catch (CommunicationException ce)
            {
                //Handling maximum reponse size exceeded
                _logger.Error(ce.Message, ce.StackTrace);
                MessageBox.Show(OSCExceptionMessages.MaxReceivedMessageSizeExceeded,
                        OSCOpportunitiesCommon.MaxReceivedMessageSizeExceededTitle, MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message, ex.StackTrace);
                MessageBox.Show(OSCExceptionMessages.UnexpectedError,
                       "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return null;
        }
예제 #11
0
 private void ViewCriteria_InitNewRow(object sender, InitNewRowEventArgs e)
 {
     DevExpress.XtraGrid.Views.Grid.GridView view = (GridView)sender;
     ViewCriteria.SetRowCellValue(e.RowHandle, "CriteriaName", "Attendance");
 }