Esempio n. 1
0
        public ActionResult ExportToExcel(DateTime?fromDate = null, DateTime?toDate = null, Decimal?amount = null)
        {
            var searchFilter = new AccountSearchFilter()
            {
                FromDate = fromDate,
                ToDate   = toDate,
                Amount   = amount
            };
            var data = accountBL.GetAccounts(searchFilter);
            var grid = new GridView();

            grid.DataSource = data;
            grid.DataBind();

            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachement; filename=data.xls");
            Response.ContentType = "application/excel";
            StringWriter   sw  = new StringWriter();
            HtmlTextWriter htw = new HtmlTextWriter(sw);

            grid.RenderControl(htw);
            Response.Output.Write(sw.ToString());
            Response.Flush();
            Response.End();
            return(View());
        }
Esempio n. 2
0
 public Result <AccountSummaryDto> GetAccounts(AccountSearchFilter accountSearchFilter)
 {
     using (UnitOfWork unitOfWork = new UnitOfWork())
     {
         return(unitOfWork.AccountSummaries.Get(accountSearchFilter, AccountMappers.Instance.MapToAccountSummaryDto));
     }
 }
Esempio n. 3
0
        public Result <Account> Get(AccountSearchFilter filter)
        {
            var query = from account in dbSet
                        where account.DisableDate == null ||
                        account.DisableDate > DateTime.Now
                        select account;

            var searchText = filter.SearchText;

            if (filter.OrganisationId != null)
            {
                query = query.Where(a => a.OrganisationId == filter.OrganisationId);
            }

            if (filter.CompanyId != null)
            {
                query = query.Where(a => a.CompanyId == filter.CompanyId);
            }

            if (!string.IsNullOrEmpty(filter.SearchText))
            {
                query = from account in query
                        join organisation in context.Organisation on account.OrganisationId equals organisation.Id
                        where account.Firstname.Equals(searchText) ||
                        account.Lastname.Equals(searchText) ||
                        organisation.Name.Equals(searchText) ||
                        (account.Company == null || account.Company.Name.Equals(searchText))
                        select account;
            }

            return(GetPagedEntities(query, filter.PageData, "Organisation,Company,Role"));
        }
Esempio n. 4
0
        public ActionResult Index(DateTime?fromDate = null, DateTime?toDate = null, Decimal?amount = null)
        {
            ViewBag.FromDate = fromDate;
            ViewBag.ToDate   = toDate;
            ViewBag.Amount   = amount;
            var searchFilter = new AccountSearchFilter()
            {
                FromDate = fromDate,
                ToDate   = toDate,
                Amount   = amount
            };
            var accounts = accountBL.GetAccounts(searchFilter);

            return(View(accounts));
        }
Esempio n. 5
0
        public Result <AccountModel> Get(AccountSearchFilter accountSearchFilter)
        {
            var result = unitOfWork.Account.Get(accountSearchFilter);

            if (result == null)
            {
                new Result <AccountModel>();
            }

            return(new Result <AccountModel>
            {
                TotalItems = result.TotalItems,
                Items = result.Items.Select(a => accountBuilder.BuildToAccountModel(a)).ToList()
            });
        }
Esempio n. 6
0
        public Result <AccountDto> AccountsFetch(AccountSearchFilter accountSearchFilter, Func <SqlDataReader, AccountDto> accountDtoMapper)
        {
            List <SqlQueryParameter> sqlQueryParameters = GetPagedDataParameters(accountSearchFilter.PageData);

            sqlQueryParameters.Add(new SqlQueryParameter {
                ParameterName = "SearchText ", ParameterDirection = DbParameterDirection.Input, ParamentType = CodeParameterType.String, ParameterSize = 100, ParameterValue = accountSearchFilter.SearchText
            });
            sqlQueryParameters.Add(new SqlQueryParameter {
                ParameterName = "OrganisationId ", ParameterDirection = DbParameterDirection.Input, ParamentType = CodeParameterType.Integer, ParameterValue = accountSearchFilter.OrganisationId
            });
            sqlQueryParameters.Add(new SqlQueryParameter {
                ParameterName = "CompanyId  ", ParameterDirection = DbParameterDirection.Input, ParamentType = CodeParameterType.Integer, ParameterValue = accountSearchFilter.CompanyId
            });

            return(GetPagedEntities("AccountsFetch", accountDtoMapper, sqlQueryParameters.ToArray()));
        }
Esempio n. 7
0
        public IEnumerable <Account> GetAccounts(AccountSearchFilter searchFilter)
        {
            var accounts = accountRepository.GetAccounts(searchFilter).Select(x => new Account
            {
                Id        = x.Id,
                FirstName = x.FirstName,
                LastName  = x.LastName,
                Email     = x.Email,
                Phone     = x.Phone,
                Address   = x.Address,
                Country   = x.Country,
                State     = x.State,
                Amount    = x.Amount
            });

            return(accounts);
        }
Esempio n. 8
0
        public ActionResult ExistingProductList(AccountSearchFilter searchFilter)
        {
            Logger.Info(_logMsg.Clear().SetPrefixMsg("ExistingProductList").Add("CustomerId", searchFilter.CustomerId)
                        .ToInputLogString());

            try
            {
                if (ModelState.IsValid)
                {
                    _commonFacade   = new CommonFacade();
                    _customerFacade = new CustomerFacade();
                    ExistingProductViewModel productVM = new ExistingProductViewModel();
                    productVM.SearchFilter = searchFilter;

                    productVM.AccountList = _customerFacade.GetAccountList(productVM.SearchFilter);
                    ViewBag.PageSize      = productVM.SearchFilter.PageSize;
                    ViewBag.PageSizeList  = _commonFacade.GetPageSizeList();

                    Logger.Info(_logMsg.Clear().SetPrefixMsg("ExistingProductList").ToSuccessLogString());
                    return(PartialView("~/Views/ExistingProduct/_ExistingProductList.cshtml", productVM));
                }

                return(Json(new
                {
                    Valid = false,
                    Error = string.Empty,
                    Errors = GetModelValidationErrors()
                }));
            }
            catch (Exception ex)
            {
                Logger.Error("Exception occur:\n", ex);
                Logger.Info(_logMsg.Clear().SetPrefixMsg("ExistingProductList").Add("Error Message", ex.Message).ToFailLogString());
                return(Error(new HandleErrorInfo(ex, this.ControllerContext.RouteData.Values["controller"].ToString(),
                                                 this.ControllerContext.RouteData.Values["action"].ToString())));
            }
        }
Esempio n. 9
0
        public void DownlaodExcel(AccountSearchFilter searchFilter)
        {
            var     accounts = accountBL.GetAccounts(searchFilter);
            WebGrid grid     = new WebGrid(source: accounts, canPage: false, canSort: false);

            string gridData = grid.GetHtml(
                columns: grid.Columns(
                    grid.Column("FirstName", "FirstName"),
                    grid.Column("LastName", "LastName"),
                    grid.Column("Email", "Email"),
                    grid.Column("Phone", "Phone"),
                    grid.Column("Address", "Address"),
                    grid.Column("Country", "Country"),
                    grid.Column("State", "State"),
                    grid.Column("Amount", "Amount")
                    )
                ).ToString();

            Response.ClearContent();
            Response.AddHeader("content-disposition", "attachment; filename=Accounts.xls");
            Response.ContentType = "application/excel";
            Response.Write(gridData);
            Response.End();
        }
Esempio n. 10
0
        private async Task PostArticle()
        {
            if (postType == 0)
            {
                ArticleStatusId = 0;
            }
            else if (postType == 1)
            {
                ArticleStatusId = 1;
            }
            else if (postType == -999)
            {
                NavigationManager.NavigateTo("/Admin/Article");
            }
            //Create new
            if (article.Id == null || article.Id == 0)
            {
                //Check permission
                if (!Repository.Permission.CanAddNewArticle(globalModel.user, globalModel.userId, ref outMessage))
                {
                    if (!Repository.Permission.CanAddNewArticle(globalModel.user, globalModel.userId, ref outMessage))
                    {
                        NavigationManager.NavigateTo("/Admin/Error403");
                    }
                }
                article.EndDate = article.StartDate?.AddYears(100);
                article.Id      = await Repository.Article.ArticleInsert(Mapper.Map <CMS.Data.ModelEntity.Article>(article), globalModel.userId, ArticleStatusId, SelectedCateValue);
            }
            //Update
            if (article.Id != null && article.Id > 0)
            {
                //Check permission
                if (!Repository.Permission.CanEditArticle(globalModel.user, globalModel.userId, (int)article.Id, ref outMessage))
                {
                    NavigationManager.NavigateTo("/Admin/Error403");
                }
                try
                {   //Save Main Image
                    if (imageDataUrls != null & imageDataUrls.Count > 0)
                    {
                        article.Image = await SaveMainImage((int)article.Id, imageDataUrls);
                    }
                    //change Content
                    if (article.Content != null && CheckContentHasBase64(article.Content))
                    {
                        article.Content = UploadImgBase64Content(article.Url, $"data/article/upload/{globalModel.userId}/{DateTime.Now:yyyy-MM-dd}", article.Content);
                    }
                    //Save Upload File
                    if (lstAttachFile.Count > 0)
                    {
                        lstAttachFile.ForEach(x =>
                        {
                            x.ArticleId    = article.Id;
                            x.CreateDate   = DateTime.Now;
                            x.LastEditDate = DateTime.Now;
                            x.CreateBy     = globalModel.userId;
                            x.LastEditBy   = globalModel.userId;
                        });
                        var uploadResult = await Repository.Article.ArticleAttachInsert(lstAttachFile);

                        if (!uploadResult)
                        {
                            Logger.LogError("Upload File Error");
                        }
                    }

                    await Repository.Article.ArticleUpdate(Mapper.Map <CMS.Data.ModelEntity.Article>(article), globalModel.userId, ArticleStatusId, SelectedCateValue);

                    if (chkTopArticleCategory == true)
                    {
                        Repository.Article.ArticleTopCategorySave(article.Id.Value);
                    }
                    if (chkTopArticleCategoryParent == true)
                    {
                        Repository.Article.ArticleTopParentCategorySave(article.Id.Value);
                    }
                    //ToastMessage
                    toastService.ShowToast(ToastLevel.Success, "Cập nhật bài viết thành công", "Thành công");

                    //Noti for sectary
                    var modelfilter = new AccountSearchFilter();
                    modelfilter.RoleId      = Guid.Parse("6df4162d-38a4-42e9-b3d3-a07a5c29215b"); // phụ trách chuyên mục
                    modelfilter.PageSize    = 100;
                    modelfilter.CurrentPage = 1;
                    modelfilter.Active      = true;
                    var lstProfielSec = await Repository.AspNetUsers.GetLstUsersPaging(modelfilter);

                    if (lstProfielSec != null && lstProfielSec.Items.Count > 0)
                    {
                        foreach (var p in lstProfielSec.Items)
                        {
                            await hubConnection.SendAsync("SendNotification", p.Id, "Bài viết mới gửi", $"Bài viết {article.Name} đã được {globalModel.user.Identity.Name} gửi tới tòa soạn chờ sơ duyệt", $"/Admin/Article/Preview?articleId={article.Id}", article.Image);
                        }
                    }
                }
                catch (Exception ex)
                {
                    //ToastMessage
                    toastService.ShowToast(ToastLevel.Error, $"Có lỗi trong quá trình cập nhật {ex}", "Lỗi");
                }
            }
            NavigationManager.NavigateTo("/Admin/Article");
        }
Esempio n. 11
0
 public IEnumerable <AccountEntity> GetAccountList(AccountSearchFilter searchFilter)
 {
     _customerDataAccess = new CustomerDataAccess(_context);
     return(_customerDataAccess.GetAccountList(searchFilter));
 }
Esempio n. 12
0
        public IEnumerable <Account> GetAccounts(AccountSearchFilter searchFilter)
        {
            var accounts = DbContext.GetAccounts(searchFilter.FromDate, searchFilter.ToDate, searchFilter.Amount);

            return(accounts.ToList());
        }
Esempio n. 13
0
        public async Task <VirtualizeResponse <AccountSearchResult> > GetLstUsersPaging(AccountSearchFilter model)
        {
            var output       = new VirtualizeResponse <AccountSearchResult>();
            var itemCounts   = new OutputParameter <int?>();
            var returnValues = new OutputParameter <int>();
            var result       = await CmsContext.GetProcedures().AccountSearchAsync(
                model.Keyword,
                model.RoleId,
                model.Active,
                model.PageSize,
                model.CurrentPage, itemCounts, returnValues
                );

            output.Items     = result.ToList();
            output.TotalSize = (int)itemCounts.Value;

            return(output);
        }
        public IActionResult FetchAccounts([FromBody] AccountSearchFilter filter)
        {
            var results = accountService.Get(filter);

            return(Ok(results));
        }
Esempio n. 15
0
        private async Task PostArticle()
        {
            if (postType == 0)
            {
                ArticleStatusId = 0;
            }
            else if (postType == 1)
            {
                if (user.IsInRole("Quản trị hệ thống"))
                {
                    ArticleStatusId = 2;
                }
                if (!user.IsInRole("Quản trị hệ thống"))
                {
                    ArticleStatusId = 1;
                }
            }
            else if (postType == -999)
            {
                NavigationManager.NavigateTo("/Admin/Article");
            }
            //Create new
            if (article.Id == null || article.Id == 0)
            {
                article.ArticleCategoryIds = SelectedValue.ToString();
                article.Id = await Repository.Article.ArticleInsert(Mapper.Map <CMS.Data.ModelEntity.Article>(article), UserManager.GetUserId(user), ArticleStatusId);
            }
            //Update
            if (article.Id != null && article.Id > 0)
            {
                try
                {   //Save Main Image
                    if (MainImages != null)
                    {
                        article.Image = await SaveMainImage((int)article.Id, MainImages);
                    }
                    //Save Upload File
                    if (lstAttachFile.Count > 0)
                    {
                        lstAttachFile.ForEach(x =>
                        {
                            x.ArticleId    = article.Id;
                            x.CreateDate   = DateTime.Now;
                            x.LastEditDate = DateTime.Now;
                            x.CreateBy     = UserManager.GetUserId(user);
                            x.LastEditBy   = UserManager.GetUserId(user);
                        });
                        var uploadResult = await Repository.Article.ArticleAttachInsert(lstAttachFile);

                        if (!uploadResult)
                        {
                            Logger.LogError("Upload File Error");
                        }
                    }

                    await Repository.Article.ArticleUpdate(Mapper.Map <CMS.Data.ModelEntity.Article>(article), UserManager.GetUserId(user), ArticleStatusId);

                    if (chkTopArticleCategory == true)
                    {
                        Repository.Article.ArticleTopCategorySave(article.Id.Value);
                    }
                    if (chkTopArticleCategoryParent == true)
                    {
                        Repository.Article.ArticleTopParentCategorySave(article.Id.Value);
                    }
                    //ToastMessage
                    toastService.ShowToast(ToastLevel.Success, "Cập nhật bài viết thành công", "Thành công");
                    //Noti for user

                    hubConnection.SendAsync("SendNotification", UserManager.GetUserId(user), "Gửi bài viết thành công", $"Bạn đã gửi bài viết <b>{article.Name}</b> tới tòa soạn thành công", "/Admin/Article", article.Image);
                    //Noti for sectary
                    var modelfilter = new AccountSearchFilter();
                    modelfilter.RoleId      = Guid.Parse("EF289F43-08FD-4C16-9F82-498BC8D1CD85"); // Thư kí
                    modelfilter.PageSize    = 100;
                    modelfilter.CurrentPage = 1;
                    modelfilter.Active      = true;
                    var lstProfielSec = await Repository.AspNetUsers.GetLstUsersPaging(modelfilter);

                    if (lstProfielSec != null && lstProfielSec.Items.Count > 0)
                    {
                        foreach (var p in lstProfielSec.Items)
                        {
                            hubConnection.SendAsync("SendNotification", p.Id, "Bài viết mới gửi", $"Bài viết {article.Name} đã được {user.Identity.Name} gửi tới tòa soạn chờ sơ duyệt", "/Admin/Article", article.Image);
                        }
                    }
                }
                catch (Exception ex)
                {
                    //ToastMessage
                    toastService.ShowToast(ToastLevel.Error, $"Có lỗi trong quá trình cập nhật {ex.ToString()}", "Lỗi");
                }
            }
            //NavigationManager.NavigateTo("/Admin/Article");
        }
        public HttpResponseMessage GetUsers(AccountSearchFilter accountSearchFilter)
        {
            Result <AccountSummaryDto> result = accountManager.GetAccounts(accountSearchFilter);

            return(Request.CreateResponse <Result <AccountSummaryDto> >(HttpStatusCode.OK, result));
        }