示例#1
0
        public async Task <IActionResult> CreateGroupBasedReport(GroupBasedReportViewModel model)
        {
            if (ModelState.IsValid)
            {
                var groupBasedReport = new GroupBasedReport(model);
                await repository.Add(groupBasedReport);

                return(RedirectToAction("list", "report"));
            }
            return(View());
        }
示例#2
0
        public string RemoveViolencePost()
        {
            var posts       = postRepository.GetAll().Where(x => x.Status == ItemStatus.Active);
            var deletedPost = 0;

            foreach (var post in posts)
            {
                try
                {
                    var isViolence = postService.IsViolencePost(post.OId);
                    if (isViolence == true)
                    {
                        var notificationDetail = new Noftication()
                        {
                            AuthorId        = "60b5f2623d52db390d464e3e",
                            OwnerId         = "60b5f2623d52db390d464e3e",
                            ObjectId        = post.OId,
                            ObjectThumbnail = post.Title
                        };

                        fcmRepository.PushNotify(post.AuthorId,
                                                 notificationDetail,
                                                 NotificationContent.ApprovePostReportNotification,
                                                 $"Bài viết của bạn đã bị xóa vì vi phạm quy định của chúng tôi. ").ConfigureAwait(true);

                        deletedPost++;
                        post.Status = ItemStatus.Blocked;
                        postRepository.Update(post, post.Id);

                        var report = new Report()
                        {
                            ObjectId    = post.OId,
                            ObjectType  = Feature.GetTypeName(post),
                            CreatedDate = DateTime.Now,
                            IsApproved  = true,
                            ApprovedBy  = "60b5f2623d52db390d464e3e",
                            ApproveDate = DateTime.Now,
                            AuthorId    = post.AuthorId,
                            Reason      = new System.Collections.Generic.List <string>()
                            {
                                "606bc1ddd01f5aa1a3e282f5"
                            }
                        };
                        reportRepository.Add(report);
                    }
                }
                catch (Exception)
                {
                    continue;
                }
            }
            return($"Task success with {deletedPost} post deleted at {DateTime.Now.ToUniversalTime()}");
        }
        public async Task <IHttpActionResult> UpdateAsync(int id, ReportDto report)
        {
            var reportInDb = await _reportRepository.GetAsync(id);

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

            _reportRepository.Add(report.Map <Report>());

            await UnitOfWork.CompleteAsync();

            return(Ok());
        }
示例#4
0
        public string CreateReport(CreateReportDto report, User user)
        {
            var dbReport = new Report
            {
                Name       = report.Name,
                ReportGUID = CreateGUID.GetGUID(),
                Query      = _reportRepository.GetQuery(report.QueryGUID),
                Columns    = StringArraySerializer(report.Columns),
                Filter     = report.Filter,
                Sort       = JsonConvert.SerializeObject(report.Sort, Formatting.None),
                Rows       = report.Rows,
                Author     = user
            };

            _reportRepository.Add(dbReport);

            _userReportRel.Add(new ReportUserRel
            {
                Report       = dbReport,
                User         = user,
                AuthoryLayer = (int)ReportUserPermissions.CanModify
            });

            return(dbReport.ReportGUID);
        }
示例#5
0
        public async Task <Report> CreateAsync(Report report)
        {
            if (report == null)
            {
                throw new ArgumentException(nameof(report));
            }

            if (!report.GarageId.HasValue)
            {
                throw new ArgumentException(nameof(report.GarageId));
            }

            if (string.IsNullOrEmpty(report.Notes))
            {
                throw new ArgumentException(nameof(report.Notes));
            }

            if (string.IsNullOrEmpty(report.ReportTimePeriod))
            {
                throw new ArgumentException(nameof(report.ReportTimePeriod));
            }

            var reportEntity = new ReportEntity
            {
                DateCreated      = DateTime.Now,
                GarageId         = report.GarageId.Value,
                Notes            = report.Notes,
                ReportTimePeriod = report.ReportTimePeriod
            };

            _reportRepository.Add(reportEntity);
            await _reportRepository.SaveChangesAsync();

            return(Mapper.Map <Report>(reportEntity));
        }
示例#6
0
        public IActionResult Post(Report report)
        {
            var currentUserProfile = GetCurrentUserProfile();

            report.CreatingUserProfileId = currentUserProfile.Id;
            _reportRepository.Add(report);
            return(CreatedAtAction("Get", new { id = report.Id }, report));
        }
        public IReport WriteReport(string accountantId, string orderId, List <string> productsIds, decimal unitPrice, string description)
        {
            IAccountant accountant = _accountantRepository.GetById(accountantId);
            IReport     report     = accountant.WriteReport(description);

            _reportRepository.Add(report);
            return(report);
        }
        public async Task Add(Report report)
        {
            if (!ExecuteValidation(new ReportValidation(), report))
            {
                return;
            }

            await _repository.Add(report);
        }
示例#9
0
        public async Task <ReportRoot> AddReportAsync(IEnumerable <CostItem> costItems, CancellationToken ct = default)
        {
            var reportRoot = new ReportRoot();

            reportRoot.AddCostItem(costItems);

            reportRoot = _reportRepository.Add(reportRoot);

            await _reportRepository.UnitOfWork.SaveEntitiesAsync(ct);

            return(reportRoot);
        }
示例#10
0
        public IActionResult SendReport(string newReport, int recipeId, string userId, string recipeEncryptedId)
        {
            Report report = new Report
            {
                ReportText = newReport,
                RecipeId   = recipeId,
                UserId     = userId,
                TimeAdded  = DateTime.Today
            };

            _reportRepository.Add(report);
            return(RedirectToAction("SendReportConfirmation", "Home"));
        }
示例#11
0
        public IActionResult Edit(ReportEditModel model)
        {
            var report = mapper.Map <rpt_info>(model);

            if (model.ID > 0)
            {
                reportRepository.Update(report);
            }
            else
            {
                report.TestCount   = 0;
                report.SearchCount = 0;
                reportRepository.Add(report);
            }
            reportRepository.SaveChanges();
            return(View(model));
        }
示例#12
0
 public IActionResult ReportAdvertisement([FromBody] Report report)
 {
     try
     {
         var newReport = _reportRepository.ReportAdvertisement(report);
         if (newReport == null)
         {
             return(BadRequest("Advertisement already deleted"));
         }
         _reportRepository.Add(newReport);
         return(Ok());
     }
     catch (Exception exception)
     {
         return(BadRequest(exception));
     }
 }
示例#13
0
        public async Task <bool> Add(Report report)
        {
            if (!ExecuteValidation(new ReportValidation(), report))
            {
                return(false);
            }

            if (DateTime.Compare(report.FinalDate, report.InitialDate) <= 0)
            {
                Notify("A data final deve ser maior que a data inicial");
                return(false);
            }

            await _reportRepository.Add(report);

            return(true);
        }
        public async Task <ActionResult> GenerateReport([FromBody] GenerateReportRequest request)
        {
            var report = new Report(Guid.NewGuid().ToString(), request.location);

            report = reportRepository.Add(report);

            await reportRepository.UnitOfWork.SaveChangesAsync();

            await producerAccessor[KafkaHelper.ReportEventProducer].ProduceAsync(Guid.NewGuid().ToString(), new GenerateReportEvent()
            {
                identity = report.IdentityGuid,
                location = report.Location
            });

            return(Accepted(new
            {
                reportId = report.IdentityGuid
            }));
        }
示例#15
0
 public ActionResult BaoCao(Report model)
 {
     if (ModelState.IsValid)
     {
         Subject entry = subjectRepository.GetByID(model.SubjectID);
         if (entry == null)
         {
             return(HttpNotFound());
         }
         var confirm = confirmRepository.Get(a => a.StudentID == User.Identity.Name);
         if (confirm == null || confirm.Content != ConfirmEnum.Accept)
         {
             TempData["message"] = "Bạn không được cấp quyền truy cập nội dung này.";
             return(RedirectToIndex());
         }
         model.StudentID = User.Identity.Name;
         model.CreateAt  = DateTime.Now;
         reportRepository.Add(model);
     }
     return(RedirectToChiTiet(model.SubjectID));
 }
示例#16
0
        public IActionResult SubmitReport(string type, string item, string reason, string reasonExplanation)
        {
            string[] validTypes = new string[] { "Comment", "Puzzle" };
            if (!validTypes.Contains(type))
            {
                return(Json(new { success = false, error = "Unknown report type." }));
            }
            if (!validReasonsForType[type].Contains(reason))
            {
                return(Json(new { success = false, error = "Invalid reason" }));
            }
            Report report = new Report(Guid.NewGuid().ToString(), type, loginHandler.LoggedInUserId(HttpContext).Value, item, reason, reasonExplanation, false, null);

            if (reportRepository.Add(report))
            {
                return(Json(new { success = true }));
            }
            else
            {
                return(Json(new { success = false, error = "Reporting failed." }));
            }
        }
示例#17
0
        public IActionResult Create([FromBody] SaleViewModel sale)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Sale _newSale = Mapper.Map <SaleViewModel, Sale>(sale);

            _newSale.CreateDate = DateTime.Now;

            _saleRepository.Add(_newSale);
            _saleRepository.Commit();

            IEnumerable <Operation> operations = _operationRepository.FindBy(x => x.SellerId == sale.SellerId).ToList();

            var cardInit = operations.FirstOrDefault(x => x.OperationType == OperationType.CardInitiate);
            var cardSale = operations.FirstOrDefault(x => x.OperationType == OperationType.Sale);

            Report newReport = new Report()
            {
                Discount      = sale.SaleType == SaleType.CardInitiate ? (cardInit != null ? cardInit.Discount : 5) : (sale.Price * (cardSale != null ? cardSale.Discount : 10) / 100),
                CreateDate    = DateTime.Now,
                UpdateDate    = DateTime.Now,
                IsActive      = true,
                IsDeleted     = false,
                OperationType = sale.SaleType == SaleType.CardInitiate ? OperationType.CardInitiate.ToString() : OperationType.Sale.ToString(),
                SellerId      = sale.SellerId
            };

            _reportRepository.Add(newReport);
            _reportRepository.Commit();

            sale = Mapper.Map <Sale, SaleViewModel>(_newSale);

            CreatedAtRouteResult result = CreatedAtRoute("GetSale", new { controller = "Sale", id = sale.Id }, sale);

            return(result);
        }
示例#18
0
 public async Task Add(ReportDto reportDto)
 {
     await _iReportRepository.Add(ReportMapper.MapDtoToReport(reportDto));
 }
示例#19
0
        public async Task <ReportDto> CreateOrUpdate(Guid?reportId, ReportDto createdReportData)
        {
            if (reportId == null)
            {
                var report = _reportRepository.Add(createdReportData);

                switch (createdReportData.ReportType)
                {
                case Domain.Enums.ReportType.Departure:
                    await _departureRepository.SetReport(report.Id, createdReportData.ParentId !.Value);

                    report.ReportType = Domain.Enums.ReportType.Departure;
                    break;

                case Domain.Enums.ReportType.Invition:
                    await _invitationRepository.SetReport(report.Id, createdReportData.ParentId !.Value);

                    report.ReportType = Domain.Enums.ReportType.Invition;
                    break;
                }
                if (createdReportData.ListOfScientists?.Count > 0)
                {
                    foreach (var temp in createdReportData.ListOfScientists)
                    {
                        if (temp != null)
                        {
                            temp.ReportId = report.Id;
                            _listOfScientistRepository.Add(temp);
                        }
                    }
                }
                if (createdReportData.Appendix?.Count > 0)
                {
                    foreach (var temp in createdReportData.Appendix)
                    {
                        if (temp != null)
                        {
                            temp.ReportId = report.Id;
                            _appendixRepository.Add(temp);
                        }
                    }
                }

                await _domainContext.SaveChangesAsync();

                return(await GetById(report.Id));
            }

            await _reportRepository.UpdateAsync(reportId.Value, createdReportData);

            if (createdReportData.ListOfScientists?.Count > 0)
            {
                await _listOfScientistRepository.DeleteAllAsync(reportId.Value);

                foreach (var temp in createdReportData.ListOfScientists)
                {
                    if (temp != null)
                    {
                        temp.ReportId = reportId.Value;
                        _listOfScientistRepository.Add(temp);
                    }
                }
            }

            if (createdReportData.Appendix?.Count > 0)
            {
                await _appendixRepository.DeleteAllAsync(reportId.Value);

                foreach (var temp in createdReportData.Appendix)
                {
                    if (temp != null)
                    {
                        temp.ReportId = reportId.Value;
                        _appendixRepository.Add(temp);
                    }
                }
            }

            await _domainContext.SaveChangesAsync();

            return(await GetById(reportId.Value));
        }
示例#20
0
 public Report Add(Report document)
 {
     return(_reportRepository.Add(document));
 }
示例#21
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="objReport"></param>
 public void InsertReport(Report objReport)
 {
     _roleRepository.Add(objReport);
     _unitOfWork.Commit();
 }
示例#22
0
        public HttpResponseMessage Post(HttpRequestMessage request, ExpenseListViewCriteria criteria)
        {
            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;
                // Force params
                // Approved SyncStatusId
                criteria.SyncStatusId = 3;
                // Not exported
                criteria.Exported = 2;

                // GetAll
                criteria.Size = -1;

                SearchResultViewModel <ExpenseDto> expenseList = this.expenseAppService.Search(criteria);
                SearchResultViewModel <ExportExpenseDto> exportExpenseList = Mapper.Map <SearchResultViewModel <ExpenseDto>, SearchResultViewModel <ExportExpenseDto> >(expenseList);


                string connectionStringsConfigPath = HttpContext.Current.Server.MapPath("~/ConnectionStrings.config");

                XElement doc = XElement.Load($"{connectionStringsConfigPath}");

                string reportsContextConnectionString = doc.Descendants("add")
                                                        .Where(x => (string)x.Attribute("name") == "ReportsContext")
                                                        .Select(x => (string)x.Attribute("connectionString"))
                                                        .FirstOrDefault();
                using (SqlConnection connection =
                           new SqlConnection(reportsContextConnectionString ?? throw new InvalidOperationException("No se pudo establecer la conexión a la base de datos.")))
                {
                    const string ProviderAccountNumberQuery = @"SELECT CONVERT(int,PVMPRH_NROCTA) from PVMPRH where @ProveedorId = PVMPRH_NRODOC";

                    List <long> providersNotExported = new List <long>();
                    List <KeyValuePair <long, int> > existingProviders = new List <KeyValuePair <long, int> >();
                    long expensesExported = 0;
                    long expensesNotExported = 0;
                    DateTime CurrentDate = DateTime.Today;

                    foreach (ExportExpenseDto expense in exportExpenseList.Results)
                    {
                        Int32 providerAccountNumber = 0;
                        if (existingProviders.All(x => x.Key != expense.Provider.Cuit))
                        {
                            SqlCommand command = new SqlCommand(ProviderAccountNumberQuery, connection);
                            command.Parameters.AddWithValue("@ProveedorId", expense.Provider.Cuit);
                            connection.Open();
                            SqlDataReader reader = command.ExecuteReader();
                            try
                            {
                                if (reader.Read())
                                {
                                    providerAccountNumber = reader.GetInt32(0);
                                    if (providerAccountNumber != 0)
                                    {
                                        existingProviders.Insert(0, new KeyValuePair <long, int>(expense.Provider.Cuit, providerAccountNumber));
                                    }
                                }
                            }
                            catch (Exception e)
                            {
                                Console.WriteLine(e.Message);
                            }
                            finally
                            {
                                reader.Close();
                                command.Dispose();
                                connection.Close();
                            }
                        }
                        else
                        {
                            providerAccountNumber = existingProviders.Where(x => x.Key == expense.Provider.Cuit).Select(x => x.Value).FirstOrDefault();
                        }

                        if (providerAccountNumber != 0)
                        {
                            bool SIN_IVA = expense.Aliquot.Description == "SIN IVA";
                            string userCompanyGroupForExpense = expense.User.UserCompanyGroups.Where(x => x.Company.Id == expense.CompanyId).
                                                                Select(x => x.UserGroup.Code + x.Company.Id).
                                                                FirstOrDefault();
                            var stringifiedproviderAccountNumber = providerAccountNumber.ToString();
                            ReceiptHeader header = new ReceiptHeader()
                            {
                                SAR_CORMVH_IDENTI = expense.Id.ToString(),
                                SAR_CORMVH_CIRCOM = SIN_IVA ? CIRCOM.SIN_IVA : CIRCOM.IVA,
                                SAR_CORMVH_CIRAPL = SIN_IVA ? CIRCOM.SIN_IVA : CIRCOM.IVA,
                                SAR_CORMVH_CODEMP = "AL0" + expense.CompanyId,
                                SAR_CORMVH_CODORI = expense.Receipt,
                                SAR_CORMVH_CMPRAD = "N/A",
                                SAR_CORMVH_STATUS = 'N',
                                SAR_CORMVH_FCHMOV = CurrentDate,
                                SAR_CORMVH_NROCTA = stringifiedproviderAccountNumber.PadLeft(6)
                            };

                            receiptHeaderContext.Add(header);

                            var hasNotTaxesConcepts = Math.Abs(double.Parse(expense.NotTaxedConcepts)) > 0;

                            ReceiptItem itemDefault = new ReceiptItem()
                            {
                                SAR_CORMVI_IDENTI = expense.Id.ToString(),
                                SAR_CORMVI_TIPORI = expense.Category.Code,
                                SAR_CORMVI_CANTID = 1,
                                SAR_CORMVI_ARTORI = expense.CompanyId + expense.Category.Code + userCompanyGroupForExpense + "G",
                                SAR_CORMVI_NROITM = 1,
                                SAR_CORMVI_PRECIO = SIN_IVA ? expense.Total : expense.NetValue,
                                SAR_CORMVI_NROAPL = null,
                                SAR_CORMVI_ITMAPL = null
                            };

                            receiptItemContext.Add(itemDefault);

                            CreateDistribution(expense.Id, itemDefault.SAR_CORMVI_NROITM, expense.CompanyId, expense.User.Id_Erp);

                            D_Concepts Debe_concepts_default = new D_Concepts()
                            {
                                SAR_CORMVI08_IDENTI = expense.Id,
                                SAR_CORMVI08_IMPORT = expense.Total
                            };

                            debeConceptsRepository.Add(Debe_concepts_default);

                            H_Concepts Haber_concepts_default = new H_Concepts()
                            {
                                SAR_CORMVI09_IDENTI = expense.Id,
                                SAR_CORMVI09_CODCPT = expense.CompanyId + (expense.Payment.Description == "Efectivo" ? "E" : "T"),
                                SAR_CORMVI09_IMPORT = expense.Total
                            };

                            haberConceptsRepository.Add(Haber_concepts_default);

                            if (hasNotTaxesConcepts)
                            {
                                ReceiptItem secondLine = itemDefault.Clone();
                                secondLine.SAR_CORMVI_NROITM = 2;
                                secondLine.SAR_CORMVI_PRECIO = expense.NotTaxedConcepts;
                                secondLine.SAR_CORMVI_ARTORI = secondLine.SAR_CORMVI_ARTORI.Remove(secondLine.SAR_CORMVI_ARTORI.Length - 1, 1) + "N";
                                receiptItemContext.Add(secondLine);
                                CreateDistribution(expense.Id, secondLine.SAR_CORMVI_NROITM, expense.CompanyId, expense.User.Id_Erp);
                            }

                            string aliquotValue = expense.Aliquot.Value.ToString(CultureInfo.InvariantCulture);

                            if (!SIN_IVA)
                            {
                                TaxesDetails taxDetails = new TaxesDetails()
                                {
                                    SAR_CORMVI07_IDENTI = expense.Id.ToString(),
                                    SAR_CORMVI07_CODCPT = GetCODPT(aliquotValue),
                                    SAR_CORMVI07_INGRES = expense.NetValue,
                                    SAR_CORMVI07_IMPGRA = expense.NetValue,
                                    SAR_CORMVI07_PORCEN = aliquotValue,
                                    SAR_CORMVI07_NROITM = 1
                                };

                                taxesDetailsRepository.Add(taxDetails);
                            }


                            DistDimTesoH distDimTesoH = new DistDimTesoH()
                            {
                                SAR_CJRMVD10_IDENTI = expense.Id,
                                SAR_CJRMVD10_CODDIS = $"AL0{expense.CompanyId.ToString()}|{expense.User.Id_Erp}"
                            };

                            distDimTesoHRepository.Add(distDimTesoH);

                            this.reportsUnitOfWork.Commit();

                            expensesExported++;
                        }
                        else
                        {
                            expensesNotExported++;
                            if (!providersNotExported.Contains(expense.Provider.Cuit))
                            {
                                providersNotExported.Add(expense.Provider.Cuit);
                            }
                        }
                    }
                    foreach (var expense in expenseList.Results)
                    {
                        if (!providersNotExported.Contains(expense.Provider.Cuit))
                        {
                            expense.Exported = true;
                            expense.ExportedDateTime = DateTime.Now;
                            this.expenseRepository.Edit(Mapper.Map <ExpenseDto, Expense>(expense));
                            this.unitOfWork.Commit();
                        }
                    }

                    int notExportedProviders = providersNotExported.Count();
                    string providersPath = null;

                    if (notExportedProviders > 0)
                    {
                        ProviderListViewCriteria providersCriteria = new ProviderListViewCriteria()
                        {
                            Size = -1,
                            FileName = "Proveedores_inexistentes_exportacion_gastos"
                        };
                        SearchResultViewModel <ProviderDto> providersList = this.providerAppService.ExportData(providersCriteria, null, providersNotExported);
                        providersPath = this.SaveCsv <ProviderDto, ProviderListViewCriteria>(providersList,
                                                                                             providersCriteria,
                                                                                             providersCriteria.FileName + "_" + long.Parse(DateTime.Now.ToString("yyyyMMddHHmmss")),
                                                                                             false, null);
                    }
                    response = request.CreateResponse(HttpStatusCode.Created, new
                    {
                        success = true,
                        exported = expensesExported,
                        not_exported = expensesNotExported,
                        inexistent_providers = notExportedProviders,
                        error_providers_path = providersPath
                    });
                }
                return response;
            }));
示例#23
0
 public void Add(ReportEntity item)
 {
     _reportRepository.Add(item);
 }
示例#24
0
 public Report Add(Report param)
 {
     return(_reportRepository.Add(param));
 }
示例#25
0
 public void CreateReport(Report report)
 {
     reportRepository.Add(report);
     SaveReport();
 }
 public async Task AddOne(Report report)
 {
     report.CreatedDate = DateTime.UtcNow;
     await _reportRepo.Add(report);
 }
 public void Add(Report report)
 {
     _reportRepository.Add(report);
 }