예제 #1
0
 // This reads from a data row
 public static NoteItem FromDataRow(DataTableRow r)
 {
     NoteItem i = new NoteItem();
     i.id = r.GetLong("id");
     i.note = r.GetString("note");
     return i;
 }
예제 #2
0
        public ValueTable(ТаблицаЗначений value)
        {
            if (value == null)
            {
                throw new System.ArgumentNullException("value");
            }

            this.Column = new DataTableColumn[value.Колонки.Count];
            for (int i = 0; i < value.Колонки.Count; i++)
            {
                DataTableColumn columnSOAP = new DataTableColumn();
                columnSOAP.Name = value.Колонки[i].Имя;
                this.Column[i]  = columnSOAP;
            }

            this.Row = new DataTableRow[value.Count];
            for (int i = 0; i < value.Count; i++)
            {
                DataTableRow rowSOAP = new DataTableRow();
                rowSOAP.Property = new ValueBase[value.Колонки.Count];

                for (int j = 0; j < value.Колонки.Count; j++)
                {
                    КолонкаКоллекцииЗначений column = value.Колонки[j];
                    ValueBase property = ValueBase.From(((dynamic)value[i]).GetByColumn(column));
                    property.Name       = column.Имя;
                    rowSOAP.Property[j] = property;
                }
                this.Row[i] = rowSOAP;
            }
        }
예제 #3
0
 // This reads from a data row
 public static GroceriesItem FromDataRow(DataTableRow r)
 {
     GroceriesItem i = new GroceriesItem();
     i.name = r.GetString("name");
     i.count = r.GetLong("count");
     i.list = r.GetInt("list");
     return i;
 }
예제 #4
0
 // This reads from a data row
 public static AgendaItem FromDataRow(DataTableRow r)
 {
     AgendaItem i = new AgendaItem();
     i.id = r.GetLong("id");
     i.color = (ColorIndex)r.GetInt("color");
     i.description = r.GetString("description");
     i.startdate = new DateTime(r.GetLong("startdate"));
     i.originstartdate = i.startdate;
     i.duration = new TimeSpan(r.GetLong("duration"));
     i.alarm = r.GetBool("alarm");
     i.alarmdate = new DateTime(r.GetLong("alarmdate"));
     i.recur = (AgendaItemRecur)r.GetInt("recur");
     i.recursions = 0;
     return i;
 }
예제 #5
0
        /// <summary>
        /// Generates the data table row collection.
        /// </summary>
        /// <param name="table">The data table.</param>
        /// <param name="className">Name of the class.</param>
        /// <param name="rowInfos">The list of DataTableRow.</param>
        /// <returns>The data collection of data table row.</returns>
        private static List <DataTableRow> GenerateDataTableRowCollection(DataTable table, string namespaceString, string className, List <DataTableRowInfo> rowInfos)
        {
            List <DataTableRow> dataCollection = new List <DataTableRow>();
            string classFullName = className;

            if (!string.IsNullOrEmpty(namespaceString))
            {
                classFullName = string.Format("{0}.{1}", namespaceString, classFullName);
            }

            DataTablePreferences preferencesData = DataTablePreferencesWindow.LoadPreferencesData();

            if (preferencesData)
            {
                int rowCount = table.Rows.Count;

                for (int i = preferencesData.DataRowsStartRow - 1; i < rowCount; ++i)
                {
                    DataTableRow rowData = (DataTableRow)UnityReflectionUtil.CreateInstance(classFullName);

                    for (int j = 0, propertiesCount = rowInfos.Count; j < propertiesCount; ++j)
                    {
                        string cellValue = table.Rows[i][j].ToString().Trim();

                        if (!string.IsNullOrEmpty(cellValue))
                        {
                            DataTableRowInfo rowInfo    = rowInfos[j];
                            ITypeParser      typeParser = GetTypeParser(rowInfo.Type);

                            if (typeParser != null)
                            {
                                object value = typeParser.Parse(cellValue);
                                ReflectionUtil.SetObjectPropertyValue(rowData, rowInfo.PropertyName, value);
                            }
                            else
                            {
                                Debug.LogWarningFormat("Type '{0}' is not supported!", rowInfo.Type);
                            }
                        }
                    }

                    dataCollection.Add(rowData);
                }
            }

            return(dataCollection);
        }
        public IEnumerable <DataTableRow> OnExecute(string query)
        {
            var tableMapping = DBAccess.GetMapping(typeof(Country));

            foreach (var entity in DBAccess.Connection.Query(tableMapping, query))
            {
                var row = new DataTableRow();

                foreach (var column in tableMapping.Columns)
                {
                    var value = column.GetValue(entity);

                    if (column.IsPK)
                    {
                        row.ID = (int)value;
                    }

                    row.Cells.Add(value == null ? "NULL" : value.ToString());
                }

                yield return(row);
            }
        }
예제 #7
0
        private void AddRowsSOAP(ДеревоЗначений tree, DataTableRow[] rowsSOAP, КоллекцияСтрокДереваЗначений rows)
        {
            for (int i = 0; i < rows.Count; i++)
            {
                СтрокаДереваЗначений currentRow = rows[i];
                DataTableRow         rowSOAP    = new DataTableRow();
                rowSOAP.Property = new ValueBase[tree.Колонки.Count];

                for (int j = 0; j < tree.Колонки.Count; j++)
                {
                    string    columnName = tree.Колонки[j].Имя;
                    ValueBase property   = ValueBase.From(((dynamic)currentRow)[columnName]);
                    property.Name       = columnName;
                    rowSOAP.Property[j] = property;
                }
                rowsSOAP[i] = rowSOAP;

                if (currentRow.Строки().Count > 0)
                {
                    rowSOAP.Row = new DataTableRow[currentRow.Строки().Count];
                    this.AddRowsSOAP(tree, rowSOAP.Row, currentRow.Строки());
                }
            }
        }
예제 #8
0
        public async Task <JsonResult> HistoryList(DataTableRequest request, int ID)
        {
            var _query = db.AdministratorSessions.Where(a => a.AdministratorID == ID).Select(a => new
            {
                a.StartTime,
                a.EndTime,
                a.IPAddress,
                a.UserAgent,
                a.ID,
                a.AdministratorID
            });

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(a => a.IPAddress.Contains(request.sSearch) || a.UserAgent.Contains(request.sSearch) || a.StartTime.ToString().Contains(request.sSearch) || a.EndTime.ToString().Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.IPAddress) : _query.OrderByDescending(a => a.IPAddress);
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.UserAgent) : _query.OrderByDescending(a => a.UserAgent);
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.StartTime) : _query.OrderByDescending(a => a.StartTime);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.EndTime) : _query.OrderByDescending(a => a.EndTime);
                break;

            default:
                _query = _query.OrderByDescending(a => a.ID);
                break;
            }

            int _count = await _query.CountAsync();

            var data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in data)
            {
                DataTableRow _row = new DataTableRow();

                if (_rowData.IPAddress != null)
                {
                    _row.Add(_rowData.IPAddress);
                }
                else
                {
                    _row.Add("-");
                }

                if (_rowData.UserAgent != null)
                {
                    _row.Add(@"<span data-toggle='popover' data-trigger='hover' data-content='" + _rowData.UserAgent + "' data-placement='top' data-container='body' data-animation='true'>" + _rowData.UserAgent.Remove(20) + "...</span>");
                }
                else
                {
                    _row.Add("-");
                }

                _row.Add(_rowData.StartTime.ToString("dd MMMM, yyyy hh:mm:ss tt"));
                _row.Add(_rowData.EndTime == null ? _rowData.StartTime.AddMinutes(20).ToString("dd MMMM, yyyy hh:mm:ss tt") : _rowData.EndTime.Value.ToString("dd MMMM, yyyy hh:mm:ss tt"));
                _row.Add(AppManager.FormattedDuration(_rowData.EndTime != null ? _rowData.EndTime.Value.Subtract(_rowData.StartTime) : _rowData.StartTime.AddMinutes(20).Subtract(_rowData.StartTime)));

                _rows.Add(_row);
            }
            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #9
0
        public async Task <JsonResult> List(DataTableRequest request, string daterange)
        {
            var _query = from a in db.Administrators
                         where a.IsDataActive
                         select new
            {
                a.ID,
                a.IsSuperAdmin,
                a.Email,
                a.AuthString,
                a.Name,
                a.Phone,
                a.IsActive,
                a.LastUpdatedOn,
            };

            if (!string.IsNullOrEmpty(daterange))
            {
                string[] _daterange = daterange.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                DateTime?_start     = Convert.ToDateTime(_daterange[0], new CultureInfo("en-CA"));
                DateTime?_end       = Convert.ToDateTime(_daterange[2], new CultureInfo("en-CA"));
                _end   = _end.Value.AddDays(1);
                _query = _query.Where(a => a.LastUpdatedOn >= _start.Value && a.LastUpdatedOn < _end.Value);
            }

            if (!AppManager.Administrator.IsSuperAdmin)
            {
                _query = _query.Where(a => a.ID == AppManager.Administrator.ID);
            }

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(a => a.Name.Contains(request.sSearch) || a.Email.Contains(request.sSearch) || a.Phone.Contains(request.sSearch) || (a.IsActive ? "Yes" : "No").Contains(request.sSearch) || (a.IsSuperAdmin ? "Yes" : "No").Contains(request.sSearch) || a.LastUpdatedOn.ToString().Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.Name) : _query.OrderByDescending(a => a.Name);
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.Email) : _query.OrderByDescending(a => a.Email);
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.Phone) : _query.OrderByDescending(a => a.Phone);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.IsSuperAdmin) : _query.OrderByDescending(a => a.IsSuperAdmin);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.IsActive) : _query.OrderByDescending(a => a.IsActive);
                break;

            case 5:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(a => a.LastUpdatedOn) : _query.OrderByDescending(a => a.LastUpdatedOn);
                break;

            default:
                _query = _query.OrderByDescending(a => a.ID);
                break;
            }

            int _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/administrators/details/" + _rowData.ID + "'> " + _rowData.Name + " </a> ");
                _row.Add(_rowData.Email);
                _row.Add(!string.IsNullOrEmpty(_rowData.Phone) ? _rowData.Phone : "-");
                _row.Add(_rowData.IsSuperAdmin ? "<span class='label label-success'>Yes</span>" : "<span class='label label-warning'>No</span>");
                _row.Add(_rowData.IsActive ? "<span class='label label-success'>Yes</span>" : "<span class='label label-warning'>No</span>");
                _row.Add(_rowData.LastUpdatedOn.ToString("dd/MM/yyyy hh:mm tt"));

                if (AppManager.Administrator.ID == _rowData.ID)
                {
                    _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/administrators/edit/" + _rowData.ID + "' title='Edit' class='mr5'><i class='icon-pencil7'></i></a>");
                }
                else
                {
                    _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/administrators/edit/" + _rowData.ID + "' title='Edit' class='mr5'><i class='icon-pencil7'></i></a>  <a class='confirm' data-confirm='Are you sure you want to cancel this Administator?' href='/L0C5A3E8915871B710C2CC98073748424/administrators/delete/" + _rowData.ID + "' title='Cancel'><i class='icon-cancel-square'></i></a>");
                }

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #10
0
        public async Task <JsonResult> List(DataTableRequest request, string daterange)
        {
            var _query = from i in db.Investments
                         join u in db.Users on i.UserID equals u.ID
                         select new
            {
                i.ID,
                i.Mode,
                i.Amount,
                i.Status,
                i.InitializedOn,
                i.LastUpdatedOn,
                i.TxRefNoUpdatedOn,
                i.TxReferenceNumber,
                i.UserID,
                i.Token,
                i.Type,
                i.HasTransferred,
                i.TokenAmount
                ,
                i.ReceivedAmount
            };

            if (!string.IsNullOrEmpty(daterange))
            {
                string[] _daterange = daterange.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                DateTime?_start     = Convert.ToDateTime(_daterange[0], new CultureInfo("en-CA"));
                DateTime?_end       = Convert.ToDateTime(_daterange[2], new CultureInfo("en-CA"));
                _end   = _end.Value.AddDays(1);
                _query = _query.Where(u => u.LastUpdatedOn >= _start.Value && u.LastUpdatedOn < _end.Value);
            }

            _query = _query.Where(i => i.UserID == AppManager.User.ID);

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(u => u.LastUpdatedOn.ToString().Contains(request.sSearch) || u.InitializedOn.ToString().Contains(request.sSearch) || u.Type.ToString().Contains(request.sSearch) || u.Mode.Contains(request.sSearch) || u.Amount.ToString().Contains(request.sSearch) || u.Status.Contains(request.sSearch) || u.Token.ToString().Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(i => i.Type) : _query.OrderByDescending(i => i.Type);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(i => i.Status) : _query.OrderByDescending(i => i.Status);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderByDescending(i => i.InitializedOn) : _query.OrderBy(i => i.InitializedOn);
                break;

            default:
                _query = _query.OrderByDescending(u => u.ID);
                break;
            }

            int _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row        = new DataTableRow();
                string       _statusHtml = "";
                _row.Add($"<a href='/users/investments/details/{ _rowData.ID }' title='Details'>{_rowData.Token}</a>");
                _row.Add(_rowData.Type);

                switch (_rowData.Mode)
                {
                case "AUD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "CAD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "CHF":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "CNY":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "EUR":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "USD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "GBP":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "JPY":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "SEK":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "NZD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "MXN":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "SGD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "HKD":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "NOK":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "KRW":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "TRY":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "RUB":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "INR":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "BRL":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                case "ZAR":
                    _row.Add($"{ String.Format("{0:0.00}", _rowData.Amount, MidpointRounding.AwayFromZero) } {_rowData.Mode}");
                    break;

                default:
                    _row.Add($"{_rowData.Amount} {_rowData.Mode}");
                    break;
                }

                switch (_rowData.Status)
                {
                case "Waiting for transaction reference number":
                case "Waiting for you to update your payment reference":
                    _statusHtml = $"<span class=\"label label-default\">Waiting for you to update your payment reference</span> [<a class='confirm' data-confirm='Please confirm your action as this could only be done once?' href='/users/investments/updatereferencenumber/{ _rowData.ID }' title='Confirm using your Wallet Address/ Bank Payment Reference'>Update</a>]";
                    break;

                case "Waiting for Confirmation":
                    _statusHtml = "<span class=\"label label-primary\">Waiting for Confirmation</span>";
                    break;

                case "Waiting for Wallet to be ready":
                case "Confirmed":
                    _statusHtml = $"<span class=\"label label-success\">Confirmed</span>";
                    break;
                //if (_rowData.WalletPassPhrase != null)
                //{
                //    _statusHtml =
                //        $"<span class=\"label label-success\">Waiting for Wallet to be ready</span> [<a href='/users/investments/printreceipt/{ _rowData.ID }' target='_blank' title='Add Wallet Password Phrase'>Download Receipt</a>]";
                //}
                //else
                //{
                //    _statusHtml = $"<span class=\"label label-success\">Confirmed</span> [<a href='/users/investments/addwalletpassphrase/{ _rowData.ID }' title='Add Wallet Password Phrase'>Update</a>] [<a href='/users/investments/printreceipt/{ _rowData.ID }' target='_blank' title='Add Wallet Password Phrase'>Download Receipt</a>]";
                //}
                //break;

                //case "Waiting for Wallet to be ready":
                //    _statusHtml = $"<span class=\"label label-success\">Waiting for Wallet to be ready</span> [<a href='/users/investments/printreceipt/{ _rowData.ID }' target='_blank' >Download Receipt</a>]";
                //    break;

                //case "Wallet Created":
                //    _statusHtml = $"<span class=\"label label-success\">Wallet Created</span> [<a href='/users/investments/download/{ _rowData.UserID }' target='_blank' >Download Wallet</a>]";
                //    break;
                case "Rejected":
                    _statusHtml = $"<span class=\"label label-danger\">Rejected</span>";
                    break;

                //case "Coins Issued":
                //    _statusHtml = $"<span class=\"label label-info\">Coins Issued</span> [<a href='/users/investments/download/{ _rowData.UserID }' target='_blank' >Download Wallet</a>]";
                //    break;
                default:
                    _statusHtml = "Unknown";
                    break;
                }

                if (_rowData.Type == "Growth Token" && _rowData.Status == "Confirmed" && _rowData.HasTransferred == true)
                {
                    _statusHtml = $"<span class='label label-success'>YOUR {_rowData.ReceivedAmount} SER TOKENS HAVE NOW BEEN TRANSFERRED TO THE GROWTH TOKEN CRYPTOFUND</span>";
                }
                else if (_rowData.Type == "Growth Token" && _rowData.Status == "Confirmed")
                {
                    _statusHtml = "<span class='label label-success1'>INVESTMENT CONFIRMED, PENDING TRANSFER TO THE GROWTH TOKEN CRYPTOFUND</span>";
                }

                _row.Add(_statusHtml);
                _row.Add(_rowData.InitializedOn.ToString());
                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #11
0
        public ActionResult KeywordContentList(DataTable dataTable, int keywordId = 0)
        {
            var isSearchEmpty = string.IsNullOrWhiteSpace(dataTable.sSearch);

            var totalCount =
                _context.Contents.Count(p => p.KeywordId == keywordId && (p.Description.ToLower().Contains(dataTable.sSearch.ToLower()) || isSearchEmpty));

            var contentList = _context.Contents
                              .Include("Language")
                              .Include("CreateUser")
                              .Where(
                p =>
                p.KeywordId == keywordId &&
                (p.Description.ToLower().Contains(dataTable.sSearch.ToLower()) ||
                 isSearchEmpty))
                              .Select(p => new ContentViewModel
            {
                KeywordId          = p.KeywordId,
                LanguageDefinition = p.Language.Definition,
                Description        = p.Description,
                UserName           = p.CreateUser.UserName,
                ContentId          = p.ContentId,
                Approved           = p.Approved,
                Complaint          = p.Complaint,
                CreateDate         = p.CreateDate,
                ContentType        = p.ContentType,
                Url = p.Url
            });

            //...
            // Order by clause
            var sortColumn    = HttpContext.Request.Form["iSortCol_0"];
            var sortDirection = HttpContext.Request.Form["sSortDir_0"];

            switch (sortColumn)
            {
            case "0":
                contentList = sortDirection.Equals("asc")
                                      ? contentList.OrderBy(p => p.LanguageDefinition)
                                      : contentList.OrderByDescending(p => p.LanguageDefinition);
                break;

            case "1":
                contentList = sortDirection.Equals("asc")
                                      ? contentList.OrderBy(p => p.Description)
                                      : contentList.OrderByDescending(p => p.Description);
                break;

            case "2":
                contentList = sortDirection.Equals("asc")
                                      ? contentList.OrderBy(p => p.UserName)
                                      : contentList.OrderByDescending(p => p.UserName);
                break;

            case "3":
                contentList = sortDirection.Equals("asc")
                                      ? contentList.OrderBy(p => p.Complaint)
                                      : contentList.OrderByDescending(p => p.Complaint);
                break;

            default:
                contentList = sortDirection.Equals("asc")
                                      ? contentList.OrderBy(p => p.CreateDate)
                                      : contentList.OrderByDescending(p => p.CreateDate);
                break;
            }

            //...
            // Filtering
            contentList = contentList
                          .Skip(dataTable.iDisplayStart)
                          .Take(dataTable.iDisplayLength);

            var resultTable = new List <DataTableRow>();

            foreach (var content in contentList)
            {
                var operations = new StringBuilder();
                operations.Append("<table>");
                operations.Append("<tr>");

                operations.Append(
                    string.Format(
                        @"<td>
                              <input type='checkbox' title='Onayla' data-toggle='tooltip' data-content-id='{0}' data-content-type='{1}' onclick='ToggleContentActivation(this);' {2} />
                        </td>",
                        content.ContentId, content.ContentType, content.Approved ? "checked" : ""));

                operations.Append(
                    string.Format(
                        @"<td>
                               <div class='icon-remove-sign' title='Sil' data-toggle='tooltip' style='cursor:pointer;' data-content-id='{0}' data-content-type='{1}' onclick='DeleteContent(this);'></div>
                          </td>", content.ContentId, content.ContentType));

                operations.Append("</tr>");
                operations.Append("</table>");

                //...
                // Reset content description
                content.Description = string.Format("<div class='icon-comment'></div> {0}", content.Description);


                var row = new DataTableRow
                {
                    content.LanguageDefinition,
                    content.Description,
                    string.Format("<a target='_blank' href='/Management/KeywordList/?UserName={0}'>{0}</a>", content.UserName ?? "Anonym"),
                    content.Complaint.ToString(CultureInfo.InvariantCulture),
                    String.Format("{0:d/M/yyyy HH:mm}", content.CreateDate),
                    operations.ToString()
                };
                resultTable.Add(row);
            }


            return(new DataTableResultExt(dataTable, totalCount, totalCount, resultTable));
        }
예제 #12
0
        public ActionResult KeywordList(DataTable dataTable, string userName = "")
        {
            var isSearchEmpty = string.IsNullOrWhiteSpace(dataTable.sSearch);

            //...
            // User portfolio
            var createUserId = WebSecurity.GetUserId(userName);

            var totalCount =
                _context
                .Keywords
                .Count(p => (p.Definition.ToLower().Contains(dataTable.sSearch.ToLower()) || isSearchEmpty) && (createUserId == -1 || p.CreateUserId == createUserId));

            //...
            // Where clause
            var keywordList = _context.Keywords
                              .Include("Language")
                              .Include("CreateUser")
                              .Where(p => (p.Definition.ToLower().Contains(dataTable.sSearch.ToLower()) || isSearchEmpty) && (createUserId == -1 || p.CreateUserId == createUserId));

            //...
            // Order by clause
            var sortColumn    = HttpContext.Request.Form["iSortCol_0"];
            var sortDirection = HttpContext.Request.Form["sSortDir_0"];

            switch (sortColumn)
            {
            case "0":
                keywordList = sortDirection.Equals("asc")
                                      ? keywordList.OrderBy(p => p.KeywordId)
                                      : keywordList.OrderByDescending(p => p.KeywordId);
                break;

            case "1":
                keywordList = sortDirection.Equals("asc")
                                      ? keywordList.OrderBy(p => p.Definition)
                                      : keywordList.OrderByDescending(p => p.Definition);
                break;

            case "2":
                keywordList = sortDirection.Equals("asc")
                                      ? keywordList.OrderBy(p => p.LanguageId)
                                      : keywordList.OrderByDescending(p => p.LanguageId);
                break;

            case "3":
                keywordList = sortDirection.Equals("asc")
                                      ? keywordList.OrderBy(p => p.CreateUserId)
                                      : keywordList.OrderByDescending(p => p.CreateUserId);
                break;

            default:
                keywordList = sortDirection.Equals("asc")
                                      ? keywordList.OrderBy(p => p.CreateDate)
                                      : keywordList.OrderByDescending(p => p.CreateDate);
                break;
            }

            //...
            // Filtering
            keywordList = keywordList
                          .Skip(dataTable.iDisplayStart)
                          .Take(dataTable.iDisplayLength);

            var resultTable = new List <DataTableRow>();

            foreach (var keyword in keywordList)
            {
                var operations = new StringBuilder();
                operations.Append("<table>");
                operations.Append("<tr>");

                operations.Append(
                    string.Format(
                        @"<td>
                              <a href='/Management/KeywordContentList?keywordId={0}' target='_blank'>İçerikler</a>
                         </td>",
                        keyword.KeywordId));

                operations.Append(
                    string.Format(
                        @"<td>
                              <a target='_blank' href='/Management/KeywordTagSelection?KeywordId={0}'>Tag Ekle</a>
                         </td>", keyword.KeywordId));

                operations.Append(
                    string.Format(
                        @"<td>
                              <a target='_blank' href='/Management/CreateContent?KeywordId={0}'>İçerik Ekle</a>
                         </td>", keyword.KeywordId));

                operations.Append(
                    string.Format(
                        @"<td>
                              <input type='checkbox' title='Onayla' data-toggle='tooltip' data-keyword-id='{0}' onclick='ToggleKeywordActivation(this);' {1} />
                        </td>",
                        keyword.KeywordId, keyword.Approved ? "checked" : ""));

                operations.Append(
                    string.Format(
                        @"<td>
                               <div class='icon-remove-sign' title='Sil' data-toggle='tooltip' style='cursor:pointer;' data-keyword-id='{0}' onclick='DeleteKeyword(this);'></div>
                          </td>", keyword.KeywordId));
                operations.Append("</tr>");
                operations.Append("</table>");

                var row = new DataTableRow
                {
                    keyword.KeywordId.ToString(CultureInfo.InvariantCulture),
                    keyword.Definition,
                    keyword.Language.Definition,
                    keyword.CreateUser == null ? "Anonym" : keyword.CreateUser.UserName,
                    String.Format("{0:d/M/yyyy HH:mm}", keyword.CreateDate),
                    operations.ToString()
                };
                resultTable.Add(row);
            }


            return(new DataTableResultExt(dataTable, totalCount, totalCount, resultTable));
        }
예제 #13
0
 public DataTableRowChangeEvent(DataTableRow row, global::System.Data.DataRowAction action)
 {
     this.eventRow    = row;
     this.eventAction = action;
 }
예제 #14
0
        public async Task <JsonResult> List(DataTableRequest request, string daterange)
        {
            var _query = from o in db.Offers
                         where o.IsDataActive
                         select new
            {
                o.ID,
                o.Title,
                o.Discount,
                o.LastDate,
                o.LastUpdatedOn,
                o.CreatedByID,
                o.LastUpdatedByID,
                CreatedBy = db.Administrators.FirstOrDefault(a => a.IsDataActive && a.ID == o.CreatedByID).Name,
                EditedBy  = db.Administrators.FirstOrDefault(a => a.IsDataActive && a.ID == o.LastUpdatedByID).Name
            };

            if (!string.IsNullOrEmpty(daterange))
            {
                string[] _daterange = daterange.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                DateTime?_start     = Convert.ToDateTime(_daterange[0], new CultureInfo("en-CA"));
                DateTime?_end       = Convert.ToDateTime(_daterange[2], new CultureInfo("en-CA"));
                _end   = _end.Value.AddDays(1);
                _query = _query.Where(o => o.LastUpdatedOn >= _start.Value && o.LastUpdatedOn < _end.Value);
            }

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(o => o.Title.Contains(request.sSearch) || o.Discount.ToString().Contains(request.sSearch) || o.LastDate.ToString().Contains(request.sSearch) || o.CreatedBy.ToString().Contains(request.sSearch) || o.EditedBy.ToString().Contains(request.sSearch) || o.LastUpdatedOn.ToString().Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.Title) : _query.OrderByDescending(o => o.Title);
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.Discount) : _query.OrderByDescending(o => o.Discount);
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.CreatedBy) : _query.OrderByDescending(o => o.CreatedBy);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.EditedBy) : _query.OrderByDescending(o => o.EditedBy);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.LastDate) : _query.OrderByDescending(o => o.LastDate);
                break;

            case 5:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(o => o.LastUpdatedOn) : _query.OrderByDescending(o => o.LastUpdatedOn);
                break;

            default:
                _query = _query.OrderByDescending(o => o.ID);
                break;
            }

            int _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(_rowData.Title);
                _row.Add(_rowData.Discount);

                if (AppManager.Administrator.IsSuperAdmin || AppManager.Administrator.ID == _rowData.CreatedByID)
                {
                    _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/administrators/details/" + _rowData.CreatedByID + "'>" + _rowData.CreatedBy + "</a>");
                }
                else
                {
                    _row.Add(_rowData.CreatedBy);
                }

                if (AppManager.Administrator.IsSuperAdmin || AppManager.Administrator.ID == _rowData.LastUpdatedByID)
                {
                    _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/administrators/details/" + _rowData.LastUpdatedByID + "'>" + _rowData.EditedBy + "</a>");
                }
                else
                {
                    _row.Add(_rowData.EditedBy);
                }

                _row.Add(_rowData.LastDate.ToShortDateString());
                _row.Add(_rowData.LastUpdatedOn.ToString());

                _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/offers/edit/" + _rowData.ID + "' title='Edit' class='mr5'><i class='icon-pencil7'></i></a>  <a class='confirm' data-confirm='Are you sure you want to delete this Offer?' href='/L0C5A3E8915871B710C2CC98073748424/offers/delete/" + _rowData.ID + "' title='Delete'><i class='icon-cancel-square'></i></a> ");

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #15
0
        public async Task <JsonResult> List(DataTableRequest request, string daterange)
        {
            var _query = from u in db.Users
                         where u.IsDataActive
                         select new
            {
                u.ID,
                u.FirstName,
                u.Title,
                u.LastName,
                u.Position,
                u.Organization,
                u.Email,
                u.Phone,
                u.LastUpdatedOn,
                u.PostalCode
            };

            if (!string.IsNullOrEmpty(daterange))
            {
                string[] _daterange = daterange.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                DateTime?_start     = Convert.ToDateTime(_daterange[0], new CultureInfo("en-CA"));
                DateTime?_end       = Convert.ToDateTime(_daterange[2], new CultureInfo("en-CA"));
                _end   = _end.Value.AddDays(1);
                _query = _query.Where(u => u.LastUpdatedOn >= _start.Value && u.LastUpdatedOn < _end.Value);
            }

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(u => u.FirstName.Contains(request.sSearch) || u.Email.Contains(request.sSearch) || u.PostalCode.Contains(request.sSearch) || u.Phone.Contains(request.sSearch) || u.Position.Contains(request.sSearch) || u.Organization.Contains(request.sSearch) || u.LastUpdatedOn.ToString().Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.FirstName) : _query.OrderByDescending(u => u.FirstName);
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.Email) : _query.OrderByDescending(u => u.Email);
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.Phone) : _query.OrderByDescending(u => u.Phone);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.PostalCode) : _query.OrderByDescending(u => u.PostalCode);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.Position) : _query.OrderByDescending(u => u.Position);
                break;

            case 5:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.Organization) : _query.OrderByDescending(u => u.Organization);
                break;

            case 6:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(u => u.LastUpdatedOn) : _query.OrderByDescending(u => u.LastUpdatedOn);
                break;

            default:
                _query = _query.OrderByDescending(u => u.ID);
                break;
            }

            int _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(_rowData.Title + ". " + _rowData.FirstName + " " + _rowData.LastName);
                _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/users/details/" + _rowData.ID + "'>" + _rowData.Email + "</a>");


                if (!string.IsNullOrEmpty(_rowData.Phone))
                {
                    _row.Add(_rowData.Phone);
                }
                else
                {
                    _row.Add("-");
                }

                if (!string.IsNullOrEmpty(_rowData.PostalCode))
                {
                    _row.Add(_rowData.PostalCode);
                }
                else
                {
                    _row.Add("-");
                }

                if (!string.IsNullOrEmpty(_rowData.Position))
                {
                    _row.Add(_rowData.Position);
                }
                else
                {
                    _row.Add("-");
                }

                if (!string.IsNullOrEmpty(_rowData.Organization))
                {
                    _row.Add(_rowData.Organization);
                }
                else
                {
                    _row.Add("-");
                }

                _row.Add(_rowData.LastUpdatedOn.ToString());

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #16
0
        private async Task <string> GenerateExcelFile()
        {
            DateTime Now = AppManager.Now.Date;

            var _query = from u in db.Users
                         where u.IsDataActive
                         select new
            {
                u.ID,
                u.FirstName,
                u.LastName,
                u.Title,
                u.Position,
                u.Organization,
                u.Email,
                u.Phone,
                u.PostalCode,
                u.LastUpdatedOn,
            };

            var _data = await _query.OrderByDescending(o => o.ID).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                string _statusHtml = string.Empty;

                _row.Add(_rowData.FirstName + " " + _rowData.LastName);
                _row.Add(_rowData.Email);
                _row.Add(_rowData.Phone);
                _row.Add(_rowData.PostalCode);
                _row.Add(_rowData.Position);
                _row.Add(_rowData.Organization);
                _row.Add(_rowData.LastUpdatedOn.ToString());

                _rows.Add(_row);
            }

            var _workbook  = new XLWorkbook();
            var _worksheet = _workbook.Worksheets.Add("Users");

            _worksheet.Cell("A1").Value = "Name";
            _worksheet.Cell("B1").Value = "Email";
            _worksheet.Cell("C1").Value = "Phone";
            _worksheet.Cell("D1").Value = "Postal Code";
            _worksheet.Cell("E1").Value = "Position";
            _worksheet.Cell("F1").Value = "Organization";
            _worksheet.Cell("G1").Value = "Last Updated On";

            int _rowIndex = 2;

            foreach (DataTableRow _row in _rows)
            {
                _worksheet.Cell("A" + _rowIndex).Value = _row.ElementAt(0);
                _worksheet.Cell("B" + _rowIndex).Value = _row.ElementAt(1);
                _worksheet.Cell("C" + _rowIndex).Value = "'" + _row.ElementAt(2);
                _worksheet.Cell("D" + _rowIndex).Value = "'" + _row.ElementAt(3);
                _worksheet.Cell("E" + _rowIndex).Value = "'" + _row.ElementAt(4);
                _worksheet.Cell("F" + _rowIndex).Value = _row.ElementAt(5);
                _worksheet.Cell("G" + _rowIndex).Value = _row.ElementAt(6);
                _rowIndex++;
            }

            _worksheet.Row(1).Style.Font.Bold = true;
            _workbook.SaveAs(HostingEnvironment.MapPath("/Exports/users.xlsx"));

            return("/Exports/users.xlsx");
        }
예제 #17
0
        public ActionResult UserList(DataTable dataTable)
        {
            var isSearchEmpty = string.IsNullOrWhiteSpace(dataTable.sSearch);

            var totalCount =
                _context.UserProfiles.Count(
                    p => p.UserName.ToLower().Contains(dataTable.sSearch.ToLower()) || isSearchEmpty);

            //...
            // Where clause
            var userList = _context.UserProfiles
                           .Where(p => p.UserName.ToLower().Contains(dataTable.sSearch.ToLower()) || isSearchEmpty);

            //...
            // Order by clause
            var sortColumn    = HttpContext.Request.Form["iSortCol_0"];
            var sortDirection = HttpContext.Request.Form["sSortDir_0"];

            switch (sortColumn)
            {
            case "0":
                userList = sortDirection.Equals("asc")
                                      ? userList.OrderBy(p => p.UserId)
                                      : userList.OrderByDescending(p => p.UserId);
                break;

            case "1":
                userList = sortDirection.Equals("asc")
                                      ? userList.OrderBy(p => p.UserName)
                                      : userList.OrderByDescending(p => p.UserName);
                break;

            case "2":
                userList = sortDirection.Equals("asc")
                                      ? userList.OrderBy(p => p.Email)
                                      : userList.OrderByDescending(p => p.Email);
                break;

            default:
                userList = sortDirection.Equals("asc")
                                      ? userList.OrderBy(p => p.UserName)
                                      : userList.OrderByDescending(p => p.UserName);
                break;
            }

            //...
            // Filtering
            userList = userList
                       .Skip(dataTable.iDisplayStart)
                       .Take(dataTable.iDisplayLength);

            var resultTable = new List <DataTableRow>();

            foreach (var user in userList)
            {
                var operations = new StringBuilder();
                operations.Append("<table>");
                operations.Append("<tr>");

                operations.Append(
                    string.Format(
                        @"<td>
                              <a href='{0}' class='btn open-modal' title='Rol Tanımla' data-toggle='tooltip'>Rol</a>
                         </td>",
                        string.Format("/Management/UserRoleSelection?userId={0}", user.UserId)));

                operations.Append(
                    string.Format(
                        @"<td>
                               <div class='icon-remove-sign' title='Sil' data-toggle='tooltip' style='cursor:pointer;' data-user-id='{0}' onclick='DeleteUser(this);'></div>
                          </td>", user.UserId));

                operations.Append("</tr>");
                operations.Append("</table>");

                var row = new DataTableRow
                {
                    user.UserId.ToString(CultureInfo.InvariantCulture),
                    user.UserName,
                    user.Email,
                    operations.ToString()
                };
                resultTable.Add(row);
            }


            return(new DataTableResultExt(dataTable, totalCount, totalCount, resultTable));
        }
예제 #18
0
        public async Task <JsonResult> List(DataTableRequest request)
        {
            List <AssestsRequest> _requests = await db.AssestsRequests.Where(r => (r.HasApproved || r.HasRejected)).ToListAsync();

            foreach (AssestsRequest _item in _requests)
            {
                if (_item.UserID == AppManager.User.ID)
                {
                    _item.HasRejected = false;
                    _item.HasApproved = false;

                    await db.SaveChangesAsync();
                }
            }

            var _query = from r in db.AssestsRequests
                         select new
            {
                r.ID,
                r.UserID,
                r.Assest,
                r.Quantity,
                r.CreatedOn,
                r.StatusChangedOn,
                r.User,
                r.Status
            };

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(r => r.User.NickName.Contains(request.sSearch) || r.User.Username.Contains(request.sSearch) || r.CreatedOn.ToString().Contains(request.sSearch) || r.StatusChangedOn.ToString().Contains(request.sSearch) || r.Assest.Contains(request.sSearch));
            }

            if (!AppManager.User.IsSuperAdmin)
            {
                _query = _query.Where(i => i.UserID == AppManager.User.ID);
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => (string.IsNullOrEmpty(r.User.NickName) ? r.User.Username : r.User.NickName)) : _query.OrderBy(r => (string.IsNullOrEmpty(r.User.NickName) ? r.User.Username : r.User.NickName));
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => r.Assest) : _query.OrderByDescending(r => r.Assest);
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderByDescending(r => r.Quantity) : _query.OrderBy(r => r.Quantity);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderByDescending(r => r.Status) : _query.OrderBy(r => r.Status);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderByDescending(r => r.CreatedOn) : _query.OrderBy(r => r.CreatedOn);
                break;

            case 5:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => r.StatusChangedOn) : _query.OrderByDescending(r => r.StatusChangedOn);
                break;

            default:
                _query = _query.OrderByDescending(r => r.ID);
                break;
            }

            var _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(_rowData.User.NickName == null ? "@" + _rowData.User.Username : _rowData.User.NickName);
                _row.Add(_rowData.Assest);
                _row.Add(String.Format("{0:0.00000000}", _rowData.Quantity));

                switch (_rowData.Status)
                {
                case "Pending":
                    if (!AppManager.User.IsSuperAdmin)
                    {
                        _row.Add(@"<span class='label label-primary'>" + _rowData.Status + "</span>");
                    }
                    else
                    {
                        _row.Add(@"<span class='label label-primary'>" + _rowData.Status + "</span><div><span>");
                    }
                    break;

                case "Rejected":
                    _row.Add(@"<span class='label label-danger'>" + _rowData.Status + "</span>");
                    break;

                case "Approved":
                    _row.Add(@"<span class='label label-success'>" + _rowData.Status + "</span>");
                    break;
                }

                _row.Add(_rowData.CreatedOn.ToString("dd/MM/yyyy hh:mm tt"));
                _row.Add(_rowData.StatusChangedOn != null ? _rowData.CreatedOn.ToString("dd/MM/yyyy hh:mm tt") : "-");

                if (_rowData.Status == "Pending" && AppManager.User.IsSuperAdmin)
                {
                    _row.Add(@"<a href='/wallet/approve/" + _rowData.ID + "'><i class='confirm mr5' title='Approve' data-confirm='Are you sure you want to approve this Request?'><i class='icon-checkmark4 text-primary'></i></i></a>  <a href='/wallet/reject/" + _rowData.ID + "'><i class='confirm mr5' title='Reject' data-confirm='Are you sure you want to reject this Request?'><i class='icon-cross2 text-primary'></i></i></a></span><div>");
                }
                else
                {
                    _row.Add("N/A");
                }

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
        public async Task <JsonResult> List(DataTableRequest request)
        {
            List <Request> _requests = await db.Requests.Where(r => r.IsDataActive && r.HasRejected).ToListAsync();

            foreach (Request _item in _requests)
            {
                if (_item.SenderID == AppManager.User.ID)
                {
                    _item.HasRejected = false;

                    await db.SaveChangesAsync();
                }
            }

            var _query = from r in db.Requests
                         where r.IsDataActive && r.SenderID == AppManager.User.ID || r.Recipient == AppManager.User.Email
                         select new
            {
                r.ID,
                r.Message,
                r.Status,
                r.SentOn,
                r.RespondedOn,
                r.SenderID,
                r.Recipient,
                r.HasDownloaded,
                r.User,
                Receiver = db.Users.FirstOrDefault(u => u.IsDataActive && (u.Email == r.Recipient || u.NickName == r.Recipient))
            };

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(r => r.User.NickName.Contains(request.sSearch) | r.User.Username.Contains(request.sSearch) || r.Recipient.Contains(request.sSearch) || r.SentOn.ToString().Contains(request.sSearch) || r.RespondedOn.ToString().Contains(request.sSearch) || r.Status.Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => (string.IsNullOrEmpty(r.User.NickName) ? r.User.Username : r.User.NickName)) : _query.OrderByDescending(r => (string.IsNullOrEmpty(r.User.NickName) ? r.User.Username : r.User.NickName));
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => (string.IsNullOrEmpty(r.Receiver.NickName) ? r.Receiver.Username : r.Receiver.NickName)) : _query.OrderByDescending(r => (string.IsNullOrEmpty(r.Receiver.NickName) ? r.Receiver.Username : r.Receiver.NickName));
                break;

            case 2:
                _query = request.sSortDir_0 == "asc" ? _query.OrderByDescending(r => r.SentOn) : _query.OrderBy(r => r.SentOn);
                break;

            case 3:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => r.RespondedOn) : _query.OrderByDescending(r => r.RespondedOn);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(r => r.Status) : _query.OrderByDescending(r => r.Status);
                break;

            default:
                _query = _query.OrderByDescending(r => r.ID);
                break;
            }

            var _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add((string.IsNullOrEmpty(_rowData.User.NickName) ? "@" + _rowData.User.Username : _rowData.User.NickName));

                if (_rowData.Receiver != null)
                {
                    _row.Add((string.IsNullOrEmpty(_rowData.Receiver.NickName) ? "@" + _rowData.Receiver.Username : _rowData.Receiver.NickName));
                }
                else
                {
                    _row.Add("-");
                }
                _row.Add(_rowData.SentOn.ToString("dd/MM/yyyy hh:mm tt"));

                switch (_rowData.Status)
                {
                case "Pending":
                    _row.Add(@"<span class='label label-primary'>" + _rowData.Status + "</span>");
                    break;

                case "Rejected":
                    _row.Add(@"<span class='label label-danger'>" + _rowData.Status + "</span>");
                    break;

                case "Approved":
                    _row.Add(@"<span class='label label-success'>" + _rowData.Status + "</span>");
                    break;
                }

                if (_rowData.RespondedOn != null)
                {
                    _row.Add(_rowData.RespondedOn.Value.ToString("dd/MM/yyyy hh:mm tt"));
                }
                else
                {
                    _row.Add("-");
                }

                if (_rowData.Status == "Approved" && !_rowData.HasDownloaded && (_rowData.User.Email == AppManager.User.Email || _rowData.User.Username == AppManager.User.Username))
                {
                    _row.Add(@"<a href='/requests/details/" + _rowData.ID + "'><i class='icon-magazine text-primary'></i></a> | <a href='/pv/printpv/?email=" + _rowData.Recipient + "&id=" + _rowData.ID + "'><i class='icon-file-download2 text-primary'></i></a>");
                }
                else
                {
                    _row.Add(@"<a href='/requests/details/" + _rowData.ID + "'><i class='icon-magazine text-primary'></i></a>");
                }

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #20
0
        public async Task <JsonResult> List(DataTableRequest request, string daterange)
        {
            var _query = from i in db.Wallets
                         join u in db.Users on i.UserID equals u.ID
                         join a in db.Administrators on i.CreatedByID equals a.ID
                         where i.IsDataActive
                         select new
            {
                i.ID,
                i.Address,
                i.WalletFile,
                i.WalletHTMLFile,
                i.WalletImageFile,
                i.LastUpdatedOn,
                i.CreatedByID,
                u.LastName,
                u.Title,
                u.FirstName,
                a.Name,
                u.Email,
            };

            if (!string.IsNullOrEmpty(daterange))
            {
                string[] _daterange = daterange.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                DateTime?_start     = Convert.ToDateTime(_daterange[0], new CultureInfo("en-CA"));
                DateTime?_end       = Convert.ToDateTime(_daterange[2], new CultureInfo("en-CA"));
                _end   = _end.Value.AddDays(1);
                _query = _query.Where(u => u.LastUpdatedOn >= _start.Value && u.LastUpdatedOn < _end.Value);
            }

            if (!string.IsNullOrEmpty(request.sSearch))
            {
                _query = _query.Where(u => u.LastUpdatedOn.ToString().Contains(request.sSearch) || u.Address.Contains(request.sSearch) || u.Email.Contains(request.sSearch));
            }

            switch (request.iSortCol_0)
            {
            case 0:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(i => i.Email) : _query.OrderByDescending(i => i.Email);
                break;

            case 1:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(i => i.Address) : _query.OrderByDescending(i => i.Address);
                break;

            case 4:
                _query = request.sSortDir_0 == "asc" ? _query.OrderBy(i => i.LastUpdatedOn) : _query.OrderByDescending(i => i.LastUpdatedOn);
                break;

            default:
                _query = _query.OrderByDescending(i => i.ID);
                break;
            }

            var _count = await _query.CountAsync();

            var _data = await _query.Skip(request.iDisplayStart).Take(request.iDisplayLength).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(_rowData.Email);
                _row.Add(_rowData.Address);
                _row.Add(@"<a href='/uploads/" + _rowData.WalletFile + "' target=_blank>Download</a>");
                _row.Add(@"<a href='/uploads/" + _rowData.WalletHTMLFile + "' target=_blank>Download</a>");
                _row.Add(@"<a href='/uploads/" + _rowData.WalletImageFile + "' target=_blank>Download</a>");
                _row.Add(_rowData.LastUpdatedOn.ToString());
                _row.Add(@"<a href='/L0C5A3E8915871B710C2CC98073748424/wallets/details/" + _rowData.ID + "' title='Details' class='mr5'><i class='icon-magazine'></i></a>");

                _rows.Add(_row);
            }

            return(Json(new DataTableResponse
            {
                sEcho = request.sEcho,
                iDisplayLength = request.iDisplayLength,
                iTotalRecords = _count,
                iDisplayStart = request.iDisplayStart,
                iTotalDisplayRecords = _count,
                aaData = _rows
            }, JsonRequestBehavior.AllowGet));
        }
예제 #21
0
        private async Task <string> GenerateExcelFile(string type)
        {
            if (type == "seratio")
            {
                type = "Seratio Coin";
            }
            else if (type == "womenscoin")
            {
                type = "Womens Coin";
            }
            else if (type == "studentcoin")
            {
                type = "Student Coin";
            }
            else if (type == "10xgrowth")
            {
                type = "Growth Token";
            }
            else if (type == "ttc")
            {
                type = "TimeTraveler Coin";
            }


            var _query = from i in db.Investments
                         join u in db.Users on i.UserID equals u.ID
                         where i.Type == type
                         select new
            {
                i.ID,
                i.Mode,
                i.Amount,
                i.Status,
                i.InitializedOn,
                i.LastUpdatedOn,
                i.TxRefNoUpdatedOn,
                i.TxReferenceNumber,
                i.UserID,
                u.Title,
                u.FirstName,
                i.ReceivedAmount,
                u.LastName,
                i.Token,
                u.Email,
                i.ExchangeRate,
                i.ConfirmedOn,
                i.RejectedOn,
                i.OriginalExchangeRate,
                i.UserSessionID,
                i.UserSession,
                i.CampaignCode,
                i.InvestmentType,
                i.TokenAmount,
                i.Type,
                u.Phone,
                u.ReferralSource,
                i.HasTransferred,
                u.PostalCode
            };


            var _data = await _query.OrderByDescending(o => o.ID).ToListAsync();

            List <DataTableRow> _rows = new List <DataTableRow>();

            foreach (var _rowData in _data)
            {
                DataTableRow _row = new DataTableRow();

                _row.Add(_rowData.Title);
                _row.Add($"{_rowData.FirstName} {_rowData.LastName}");
                _row.Add(_rowData.Email);
                _row.Add(_rowData.Phone);
                _row.Add(_rowData.Mode);
                _row.Add(_rowData.Type);
                _row.Add(_rowData.Amount);
                _row.Add(_rowData.Token);

                if (_rowData.UserSessionID != null)
                {
                    _row.Add(_rowData.UserSession.IPAddress);
                }
                else
                {
                    _row.Add("N/A");
                }

                _row.Add(_rowData.CampaignCode);

                if (_rowData.InvestmentType != null)
                {
                    _row.Add(_rowData.InvestmentType);
                }
                else
                {
                    _row.Add("N/A");
                }

                _row.Add(_rowData.InitializedOn.ToString());

                if (_rowData.OriginalExchangeRate != null)
                {
                    _row.Add(String.Format("'{0:0.0000000}", _rowData.OriginalExchangeRate.ToString()));
                }
                else
                {
                    _row.Add("N/A");
                }

                if (_rowData.TxReferenceNumber != null)
                {
                    _row.Add(_rowData.TxReferenceNumber);
                }
                else
                {
                    _row.Add("Pending");
                }

                if (_rowData.ConfirmedOn != null)
                {
                    _row.Add(_rowData.ConfirmedOn);
                }
                else
                {
                    _row.Add("Pending");
                }
                if (_rowData.ConfirmedOn != null)
                {
                    _row.Add(_rowData.ReceivedAmount.ToString());
                }
                else
                {
                    _row.Add("Pending");
                }

                if (_rowData.ExchangeRate != null)
                {
                    _row.Add(String.Format("{0:0.00}", _rowData.ExchangeRate.ToString()));
                }
                else
                {
                    _row.Add("N/A");
                }

                string _statusHtml = "";

                if (_rowData.ConfirmedOn != null)
                {
                    _statusHtml = "Confirmed";
                }
                else
                {
                    if (_rowData.RejectedOn != null)
                    {
                        _statusHtml = "Rejected";
                    }
                    else
                    {
                        _statusHtml = "Pending";
                    }
                }

                if (_rowData.Type == "Growth Token" && _rowData.Status == "Confirmed" && _rowData.HasTransferred == true)
                {
                    _statusHtml = $"YOUR {_rowData.ReceivedAmount} SER TOKENS HAVE NOW BEEN TRANSFERRED TO THE GROWTH TOKEN CRYPTOFUND";
                }
                else if (_rowData.Type == "Growth Token" && _rowData.Status == "Confirmed")
                {
                    _statusHtml = "INVESTMENT CONFIRMED, PENDING TRANSFER TO THE GROWTH TOKEN CRYPTOFUND";
                }

                _row.Add(_statusHtml);

                if (!string.IsNullOrEmpty(_rowData.TokenAmount))
                {
                    _row.Add(_rowData.TokenAmount);
                }
                else
                {
                    _row.Add("N/A");
                }

                _row.Add(_rowData.ReferralSource);
                _row.Add(_rowData.PostalCode);

                _rows.Add(_row);
            }

            var _workbook  = new XLWorkbook();
            var _worksheet = _workbook.Worksheets.Add("Investments");

            _worksheet.Cell("A1").Value = "Contributor (Title)";
            _worksheet.Cell("B1").Value = "Contributor (Name)";
            _worksheet.Cell("C1").Value = "Contributor (Email)";
            _worksheet.Cell("D1").Value = "Contributor (Phone)";

            _worksheet.Cell("E1").Value = "Contribution Type";
            _worksheet.Cell("F1").Value = "ICO Type";
            _worksheet.Cell("G1").Value = "Amount";
            _worksheet.Cell("H1").Value = "Token ID ";
            _worksheet.Cell("I1").Value = "IP Address";
            _worksheet.Cell("J1").Value = "Campaign code";
            _worksheet.Cell("K1").Value = "Token Type";
            _worksheet.Cell("L1").Value = "Contribution Requested On";
            _worksheet.Cell("M1").Value = "Original Exchange rate";
            _worksheet.Cell("N1").Value = "Transaction ID";
            _worksheet.Cell("O1").Value = "Contribution Received On";
            _worksheet.Cell("P1").Value = "Contribution Received Amount";
            _worksheet.Cell("Q1").Value = "Exchange Rate";
            _worksheet.Cell("R1").Value = "Confirmed";
            _worksheet.Cell("S1").Value = "Token Amount";
            _worksheet.Cell("T1").Value = "Referral Source";
            _worksheet.Cell("U1").Value = "Postal Address";

            int _rowIndex = 2;

            foreach (DataTableRow _row in _rows)
            {
                _worksheet.Cell("A" + _rowIndex).Value = _row.ElementAt(0);
                _worksheet.Cell("B" + _rowIndex).Value = _row.ElementAt(1);
                _worksheet.Cell("C" + _rowIndex).Value = _row.ElementAt(2);
                _worksheet.Cell("D" + _rowIndex).Value = "'" + _row.ElementAt(3);
                _worksheet.Cell("E" + _rowIndex).Value = "'" + _row.ElementAt(4);
                _worksheet.Cell("F" + _rowIndex).Value = _row.ElementAt(5);
                _worksheet.Cell("G" + _rowIndex).Value = _row.ElementAt(6);
                _worksheet.Cell("H" + _rowIndex).Value = _row.ElementAt(7);
                _worksheet.Cell("I" + _rowIndex).Value = _row.ElementAt(8);
                _worksheet.Cell("J" + _rowIndex).Value = _row.ElementAt(9);
                _worksheet.Cell("K" + _rowIndex).Value = _row.ElementAt(10);
                _worksheet.Cell("L" + _rowIndex).Value = _row.ElementAt(11);
                _worksheet.Cell("M" + _rowIndex).Value = _row.ElementAt(12);
                _worksheet.Cell("N" + _rowIndex).Value = "'" + _row.ElementAt(13);
                _worksheet.Cell("O" + _rowIndex).Value = "'" + _row.ElementAt(14);
                _worksheet.Cell("P" + _rowIndex).Value = _row.ElementAt(15);
                _worksheet.Cell("Q" + _rowIndex).Value = _row.ElementAt(16);
                _worksheet.Cell("R" + _rowIndex).Value = _row.ElementAt(17);
                _worksheet.Cell("S" + _rowIndex).Value = _row.ElementAt(18);
                _worksheet.Cell("T" + _rowIndex).Value = _row.ElementAt(19);
                _worksheet.Cell("U" + _rowIndex).Value = _row.ElementAt(20);

                _rowIndex++;
            }

            _worksheet.Row(1).Style.Font.Bold = true;
            _workbook.SaveAs(HostingEnvironment.MapPath($"/Exports/Investments_{type}.xlsx"));

            return($"/Exports/Investments_{type}.xlsx");
        }