public JsonResult <string> ExportToKliko(int?id, string _filials, string type_clients, string export_path) { if (id == null) { return(Json("Номер отчета неопределен.")); } HeaderRep headerRep = db.HeaderReps.Find(id); if (headerRep == null) { return(Json("Отчет с таким номером отсутствует.")); } if (String.IsNullOrEmpty(export_path.Trim(new char[] { ' ', '\\', '/' }))) { return(Json("Некорректно задан путь к папке для формирования файлов для выгрузки в КЛИКО.")); } if (!Directory.Exists(export_path)) { Directory.CreateDirectory(export_path); } if (!Directory.Exists(export_path)) { return(Json("Ошибка при создании директории: " + export_path)); } ExportToKliko export_to_kliko = new ExportToKliko(db); string result = export_to_kliko.CreateKlikoFiles(headerRep, export_path, _filials, type_clients); return(Json(result)); }
public void AllTests(HeaderRep hr, int count_records) { for (int num_test = 1; num_test < data_lengths.Length; num_test++) { Tests(hr, num_test, count_records); } // TestExportToKliko(hr); }
public void TestExportToKliko(HeaderRep hr) { ExportToKliko export_to_kliko = new ExportToKliko(db); string result = export_to_kliko.CreateKlikoFiles(hr, @"c:\temp\", "Все филиалы", "Все"); if (result != "true") { throw new HttpException("Некорректен экспорт в Клико."); } }
public ActionResult Create([Bind(Include = "BeginDate,EndDate,Comment")] HeaderRep headerRep) { if (ModelState.IsValid) { db.HeaderReps.Add(headerRep); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(headerRep)); }
public ActionResult DwhLoad(int id) { HeaderRep headerRep = db.HeaderReps.Find(id); ReportsManager repManager = new ReportsManager(db); string message = repManager.LoadDwhOperations(headerRep); TempData["Flash"] = message; return(RedirectToAction("LoadFromDwhList")); }
public TranCreateViewModel(HeaderRep headerRep) { AddInfRep = new AddInfRep() { IdRep = headerRep.Id }; AddInfRep.HeaderRep = headerRep; BasicRep = new BasicRep(); ClientRep = new ClientRep(); IssuerRep = new IssuerRep(); Rep406 = new Rep406(); Supdoc = new SupdocRep(); NoticeRep = new NoticeRep(); }
public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HeaderRep headerRep = db.HeaderReps.Find(id); if (headerRep == null) { return(HttpNotFound()); } return(View(headerRep)); }
public ActionResult ToArchive(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } HeaderRep headerRep = db.HeaderReps.Find(id); headerRep.StatusUserArh = User.Identity.GetUserId(); headerRep.ArchiveDate = DateTime.Now; db.Entry(headerRep).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("ToArchiveList")); }
string[] CreateFileNames(string type_clients, HeaderRep headerRep, string[] sections) { string[] name_files = new string[1 + sections.Length]; string date = headerRep.BeginDate.ToString("MMyy"); string fl_prefix = GetFlPrefix(type_clients); for (int i = 0; i < name_files.Length; i++) { name_files[i] = String.Format("{0}{1}{2}{3}.txt", i == 0 ? FORM_406 : FORM_405, i == 0 ? string.Empty : sections[i - 1], date, fl_prefix); } return(name_files); }
public ActionResult IndexCurrent(int idRep) { HeaderRep rep = db.HeaderReps.Find(idRep); if (rep == null) { throw new HttpException(404, "Отчет не был найден."); } var addInfReps = db.AddInfReps.Include(a => a.HeaderRep); TranIndexViewModel viewModel = new TranIndexViewModel() { Report = rep, AddInfReps = addInfReps.ToList() }; return(View(viewModel)); }
public IHttpActionResult GetData([FromBody] FindTranDataModel req) { HeaderRep headerRep = db.HeaderReps.Find(req.ReportId); if (headerRep == null) { return(Json("Отчет с таким номером отсутствует.")); } GridDataHandler handler = new GridDataHandler(db); var res = handler.GetData(req, headerRep); if (!String.IsNullOrEmpty(handler.ErrorString)) { return(Json(handler.ErrorString)); } return(Json(res)); }
public void Test_1() { HeaderRep hr = GetHeaderRep(); FindTranDataModel req = GetTranDataModel(1); GridDataHandler handler = new GridDataHandler(db); GridDataHandler.ResponseData res = handler.GetData(req, hr, true); if (!String.IsNullOrEmpty(handler.ErrorString)) { throw new HttpException(ErrorTitles[0] + handler.ErrorString); } if (res.data.Length != 0 || res.recordsTotal != 0) { throw new HttpException(ErrorTitles[0] + "Некорректные выходные данные."); } }
public void Tests(HeaderRep hr, int num_test, int count_records) { FindTranDataModel req = GetTranDataModel(num_test); GridDataHandler handler = new GridDataHandler(db); GridDataHandler.ResponseData res = handler.GetData(req, hr, true); if (!String.IsNullOrEmpty(handler.ErrorString)) { throw new HttpException(ErrorTitles[num_test] + handler.ErrorString); } int data_length = data_lengths[num_test]; if (res.data.Length != data_length || res.recordsTotal != count_records || res.recordsFiltered != data_length) { throw new HttpException(ErrorTitles[num_test] + "Некорректные выходные данные: " + String.Format("Data length = {0} (!={1}), Total records = {2} (!={3}), Filtered records = {4} (!={5})", res.data.Length, data_length, res.recordsTotal, count_records, res.recordsFiltered, data_length)); } }
public string LoadDwhOperations(HeaderRep report) { string message = ""; if (report == null) { message = "Отчет с таким номером отсутствует"; return(message); } lock (lock_obj) { if (context.DwhLoads.Any <DwhLoad> (b => (DbFunctions.TruncateTime(b.DateLoad) == DbFunctions.TruncateTime(DateTime.Now)) && (b.State == "S"))) { // В том случае, если запись будет найдена, то выдавать сообщение «Загрузка за сегодняшний день уже была произведена», // и прекращать работу процедуры. message = "Загрузка за сегодняшний день уже была произведена"; } else { var _Dwhs = context.DWHSs.Where <Dwhs> (b => (DbFunctions.TruncateTime(b.StartLoad) == DbFunctions.TruncateTime(DateTime.Now))).ToArray <Dwhs>(); if (_Dwhs != null && _Dwhs.Length > 0) { switch (_Dwhs[0].ParamValue) { case "1": message = "Отправлен запрос в DWH. Ждите"; break; case "3": message = "Производится выгрузка операций из DWH. Ждите"; break; case "4": message = "Производится загрузка операций в систему. Ждите"; break; } } else { Dwhs dwh = new Dwhs() { IdRep = report.Id, ParamValue = "1", ParamName = Dwhs.ParamNames.CCREP_DWH_UNLOAD.ToString(), StartLoad = DateTime.Now, LaunchAuthor = CurrentUserName }; context.DWHSs.Add(dwh); context.SaveChanges(); message = "Ваш запрос отправлен, ждите."; } } } return(message); }
public string CreateKlikoFiles(HeaderRep headerRep, string export_path, string filials, string type_clients) { try { export_path = export_path.TrimEnd(new char[] { '\\', '/' }) + @"\"; string filterFilial = GetFilialFilter(filials); Expression <Func <BasicRep, bool> > CheckFilials = System.Linq.Dynamic.DynamicExpression.ParseLambda <BasicRep, bool>(filterFilial); string filterTypeClients = GetTypeClientFilter(type_clients); Expression <Func <ClientRep, bool> > CheckTypeClients = System.Linq.Dynamic.DynamicExpression.ParseLambda <ClientRep, bool>(filterTypeClients); var Operations = (from ar in db.AddInfReps.AsExpandable() join br in db.BasicReps.AsExpandable() on ar.IdOper equals br.IdOper join cr in db.ClientReps.AsExpandable() on ar.IdOper equals cr.IdOper join ir_left in db.IssuerReps.AsExpandable() on ar.IdOper equals ir_left.IdOper into ir_1 join nr_left in db.NoticeReps.AsExpandable() on ar.IdOper equals nr_left.IdOper into nr_1 join r406_left in db.Rep406s.AsExpandable() on ar.IdOper equals r406_left.IdOper into r406_1 from nr in nr_1.DefaultIfEmpty() from ir in ir_1.DefaultIfEmpty() from r406 in r406_1.DefaultIfEmpty() where headerRep.Id == ar.IdRep && ar.Status == INCLUDE && CheckFilials.Invoke(br) && (cr == null || CheckTypeClients.Invoke(cr)) orderby br.Filial, br.PostDate, br.CodeVO select new KlikoInfo { Form = ar.Form, Section = ar.Section, // BasicRep Filial = br.Filial, PostDate = br.PostDate, CodeVO = (cr.TypeRez == PERSON ? CODE_VO_PERSON : br.CodeVO), TypeTooling = br.TypeTooling, OperType = br.OperType, DirectionPay = br.DirectionPay, Count = br.Count, Share = br.Share, Ccy = br.Ccy, AmountAll = br.AmountAll, AmntIncome = br.AmntIncome, ValueDate = br.ValueDate, Swift = br.Swift, SwiftFil = br.SwiftFil, // ClientRep BicPartner = cr.BicPartner, CountryRez = cr.CountryRez, NameRez = cr.NameRez, TypeRez = cr.TypeRez, INN = cr.INN, NameNerez = cr.NameNerez, TypeNerez = cr.TypeNerez, CountryNerez = cr.CountryNerez, BankName = cr.BankName, CountryBank = cr.CountryBank, PartnerName = cr.PartnerName, CountryPartner = cr.CountryPartner, // IssuerRep IssuerName = (ir == null ? string.Empty : ir.IssuerName), SecurityCode = (ir == null ? string.Empty : ir.SecurityCode), RegNumIssuer = (ir == null ? string.Empty : ir.RegNumIssuer), DateRegIssuer = (ir == null ? null : ir.DateRegIssuer), RepayDate = (ir == null ? null : ir.RepayDate), CcyIssuer = (ir == null ? null : ir.CcyIssuer), IssuerCode = (ir == null ? null : ir.IssuerCode), IssuerReestr = (ir == null ? null : ir.IssuerReestr), // NoticeRep Notice = (nr == null ? string.Empty : nr.Notice), NoticeIssuer = (nr == null ? string.Empty : nr.NoticeIssuer), NoticeExchange = (nr == null ? string.Empty : nr.NoticeExchange), NoticeInst = (nr == null ? string.Empty : nr.NoticeInst), NoticeProperty = (nr == null ? string.Empty : nr.NoticeProperty), NoticeBank = (nr == null ? string.Empty : nr.NoticeBank), // VK_406_REP OperKind = (r406 == null ? null : r406.OperKind), AmountTo = (r406 == null ? null : r406.AmountTo), AmountFrom = (r406 == null ? null : r406.AmountFrom), BicBank = (r406 == null ? null : r406.BicBank), CountryBank406 = (r406 == null ? null : r406.CountryBank406), AddCode10 = (r406 == null ? null : r406.AddCode10), KindRez = (r406 == null ? null : r406.KindRez), KindNerez = (r406 == null ? null : r406.KindNerez), KindContract = (r406 == null ? null : r406.KindContract), TypeContract = (r406 == null ? null : r406.TypeContract), Notice15 = (r406 == null ? null : r406.Notice15), Notice16 = (r406 == null ? null : r406.Notice16), Notice40 = (r406 == null ? null : r406.Notice40), NoticeOther = (r406 == null ? null : r406.NoticeOther) }).ToList(); // Коррекция свойств CorrectProperties.Correction <KlikoInfo>(Operations); // Создание файлов List <string> sections = GetSections(); string[] sections_for_names = sections.ConvertAll <string>(x => x = x.Replace(".", "")).ToArray(); string[] file_names = CreateFileNames(type_clients, headerRep, sections_for_names); bool[] first_tags = Enumerable.Repeat(true, file_names.Length).ToArray(); List <KlikoInfo> Operations406 = Operations.FindAll(x => x.Form == FORM_406); if (Operations406.Count > 0) { string file406 = export_path + file_names[0]; using (StreamWriter file = new StreamWriter(file406, false, Encoding.GetEncoding(866))) { file.WriteLine(FIRST_LINE_FORM406); foreach (KlikoInfo info in Operations406) { AddOperationToFile(file, GetAttributesForm406Array(info)); } } } for (int i = 0; i < sections.Count; i++) { List <KlikoInfo> Operations405 = Operations.FindAll(x => x.Form == FORM_405 && x.Section == sections[i]); if (Operations405.Count > 0) { string file405 = export_path + file_names[i + 1]; using (StreamWriter file = new StreamWriter(file405, true, Encoding.GetEncoding(866))) { file.WriteLine(String.Format(FIRST_LINE_FORM405, sections[i][0])); foreach (KlikoInfo info in Operations405) { AddOperationToFile(file, GetAttributesForm405Array(info)); } } } } } catch (Exception ex) { return("Ошибка при экспорте в КЛИКО: " + ex.Message); } return("true"); }
// GET: Reports/HeaderReps/Create public ActionResult Create() { var model = new HeaderRep(); return(View(model)); }
public ResponseData GetData(FindTranDataModel req, HeaderRep headerRep, bool is_test = false) { string user_id = CurrentUserId; if (!is_test && user_id == null) { ErrorString = "Не был определен пользователь для входа в систему."; return(data_empty); } try { // Установка всех фильтров var filterAddInfRep = new HandleFilterParams <AddInfRep>(); var filterBasicRep = new HandleFilterParams <BasicRep>(); var filterClientRep = new HandleFilterParams <ClientRep>(); var filterIssuerRep = new HandleFilterParams <IssuerRep>(); var filterNoticeRep = new HandleFilterParams <NoticeRep>(); var filterAddRep = new HandleFilterParams <AddRep>(); var filterRep406 = new HandleFilterParams <Rep406>(); var filterSupdocRep = new HandleFilterParams <SupdocRep>(); bool is_rep_406 = false; bool is_cr = false; bool is_ir = false; bool is_nr = false; bool is_add_rep = false; bool is_sr = false; // Условие фильтра дубликатов и статуса NEW // if (!req.onlyDuple) // filterAddInfRep.AddField(CreateParam("AddInfRep_Status", "string", "not_equal", NEW_STR)); filterAddInfRep.AddField(CreateParam("AddInfRep_Status", "string", req.onlyDuple ? "equal" : "not_equal", DUPLICATE_STR)); // Добавить правила if (req.Rules != null) { foreach (QueryBuildRule qbr in req.Rules) { string table_name = GetClassName(qbr.id); if (table_name == "AddInfRep") { filterAddInfRep.AddField(qbr); } else if (table_name == "BasicRep") { filterBasicRep.AddField(qbr); } else if (table_name == "ClientRep") { filterClientRep.AddField(qbr); is_cr = true; } else if (table_name == "IssuerRep") { filterIssuerRep.AddField(qbr); is_ir = true; } else if (table_name == "NoticeRep") { filterNoticeRep.AddField(qbr); is_nr = true; } else if (table_name == "AddRep") { filterAddRep.AddField(qbr); is_add_rep = true; } else if (table_name == "Rep406") { filterRep406.AddField(qbr); is_rep_406 = true; } else if (table_name == "SupdocRep") { filterSupdocRep.AddField(qbr); is_sr = true; } else { throw new ApplicationException("Несуществующее имя таблицы: " + table_name); } } } // Получить все выражения bool all = false; var check_filials = filterBasicRep.GetExpression(GetFilterFilials(user_id, out all), "Filial", all); var check_clients = filterClientRep.GetExpression(GetFilterClients(user_id, out all), "TypeRez", all); var check_supdocs = filterAddInfRep.GetExpression(GetFilterSupdocs(user_id, out all), "SupdocFl", all); var check_addinf_rep = filterAddInfRep.GetExpression(); var check_basic_rep = filterBasicRep.GetExpression(); var check_client_rep = filterClientRep.GetExpression(); var check_issuer_rep = filterIssuerRep.GetExpression(); var check_notice_rep = filterNoticeRep.GetExpression(); var check_add_rep = filterAddRep.GetExpression(); var check_rep_406 = filterRep406.GetExpression(); var check_supdoc_rep = filterSupdocRep.GetExpression(); int total_records = db.AddInfReps.Where(x => x.IdRep == headerRep.Id).Select(x => x.IdOper).Count(); // Запрос операций, удовлетворяющих всем условиям всех фильтров. var Operations = from ar in db.AddInfReps.AsExpandable() join br in db.BasicReps.AsExpandable() on ar.IdOper equals br.IdOper join cr_left in db.ClientReps.AsExpandable() on ar.IdOper equals cr_left.IdOper into cr_1 join ir_left in db.IssuerReps.AsExpandable() on ar.IdOper equals ir_left.IdOper into ir_1 join nr_left in db.NoticeReps.AsExpandable() on ar.IdOper equals nr_left.IdOper into nr_1 join r406_left in db.Rep406s.AsExpandable() on ar.IdOper equals r406_left.IdOper into r406_1 join sr_left in db.SupdocReps.AsExpandable() on ar.IdOper equals sr_left.IdOper into sr_1 join add_rep_left in db.AddReps.AsExpandable() on ar.IdOper equals add_rep_left.IdOper into add_rep_1 from cr in cr_1.DefaultIfEmpty() from nr in nr_1.DefaultIfEmpty() from ir in ir_1.DefaultIfEmpty() from r406 in r406_1.DefaultIfEmpty() from sr in sr_1.DefaultIfEmpty() from add_rep in add_rep_1.DefaultIfEmpty() where headerRep.Id == ar.IdRep && (!is_rep_406 || (is_rep_406 && ar.Form == "406")) && (!is_cr || (is_cr && cr != null)) && (!is_ir || (is_ir && ir != null)) && (!is_nr || (is_nr && nr != null)) && (!is_add_rep || (is_add_rep && add_rep != null)) && (!is_sr || (is_sr && sr != null)) && check_filials.Invoke(br) && (cr == null || check_clients.Invoke(cr)) && check_supdocs.Invoke(ar) && check_addinf_rep.Invoke(ar) && check_basic_rep.Invoke(br) && (cr == null || check_client_rep.Invoke(cr)) && (ir == null || check_issuer_rep.Invoke(ir)) && (nr == null || check_notice_rep.Invoke(nr)) && (add_rep == null || check_add_rep.Invoke(add_rep)) && (r406 == null || check_rep_406.Invoke(r406)) && (sr == null || check_supdoc_rep.Invoke(sr)) orderby br.Filial, br.PostDate select new GridData { // AddInfRep Form = ar.Form, Section = ar.Section, Status = ar.Status, SupdocFl = ar.SupdocFl, DateLock = ar.DateLock, DateRemove = ar.DateRemove, NumJD = ar.NumJD, NumDVK = ar.NumDVK, DateRequest = ar.DateRequest, DateGetDoc = ar.DateGetDoc, CNum = ar.CNum, CBAccount = ar.CBAccount, // BasicRep Filial = br.Filial, PostDate = br.PostDate, TypeTooling = br.TypeTooling, OperType = br.OperType, DirectionPay = br.DirectionPay, Count = br.Count, Share = br.Share, Ccy = br.Ccy, AmountAll = br.AmountAll, AmntIncome = br.AmntIncome, RefNum = br.RefNum, CodeVO = br.CodeVO, // (cr.TypeRez == PERSON ? CODE_VO_PERSON : br.CodeVO), ValueDate = br.ValueDate, Swift = br.Swift, SwiftFil = br.SwiftFil, // ClientRep NameRez = (cr == null ? string.Empty : cr.NameRez), TypeRez = (cr == null ? string.Empty : cr.TypeRez), BicPartner = (cr == null ? string.Empty : cr.BicPartner), CountryRez = (cr == null ? string.Empty : cr.CountryRez), INN = (cr == null ? string.Empty : cr.INN), NameNerez = (cr == null ? string.Empty : cr.NameNerez), TypeNerez = (cr == null ? string.Empty : cr.TypeNerez), CountryNerez = (cr == null ? string.Empty : cr.CountryNerez), BankName = (cr == null ? string.Empty : cr.BankName), CountryBank = (cr == null ? string.Empty : cr.CountryBank), PartnerName = (cr == null ? string.Empty : cr.PartnerName), CountryPartner = (cr == null ? string.Empty : cr.CountryPartner), CustNo = (cr == null ? string.Empty : cr.CustNo), // IssuerRep IssuerName = (ir == null ? string.Empty : ir.IssuerName), SecurityCode = (ir == null ? string.Empty : ir.SecurityCode), RegNumIssuer = (ir == null ? string.Empty : ir.RegNumIssuer), DateRegIssuer = (ir == null ? null : ir.DateRegIssuer), RepayDate = (ir == null ? null : ir.RepayDate), CcyIssuer = (ir == null ? string.Empty : ir.CcyIssuer), IssuerCode = (ir == null ? null : ir.IssuerCode), IssuerReestr = (ir == null ? string.Empty : ir.IssuerReestr), // VK_406_REP OperKind = (r406 == null ? null : r406.OperKind), Notice40 = (r406 == null ? string.Empty : r406.Notice40), AmountTo = (r406 == null ? null : r406.AmountTo), AmountFrom = (r406 == null ? null : r406.AmountFrom), BicBank = (r406 == null ? string.Empty : r406.BicBank), CountryBank406 = (r406 == null ? string.Empty : r406.CountryBank406), AddCode10 = (r406 == null ? string.Empty : r406.AddCode10), KindRez = (r406 == null ? string.Empty : r406.KindRez), KindNerez = (r406 == null ? string.Empty : r406.KindNerez), KindContract = (r406 == null ? string.Empty : r406.KindContract), TypeContract = (r406 == null ? string.Empty : r406.TypeContract), Notice15 = (r406 == null ? string.Empty : r406.Notice15), Notice16 = (r406 == null ? string.Empty : r406.Notice16), NoticeOther = (r406 == null ? string.Empty : r406.NoticeOther), // VK_SUPDOC_REP CodeSupdoc = (sr == null ? string.Empty : sr.CodeSupdoc), SupdocName = (sr == null ? string.Empty : sr.SupdocName), Prinvest = (sr == null ? null : sr.Prinvest), EntryDate = (sr == null ? null : sr.EntryDate), SupdocType = (sr == null ? string.Empty : sr.SupdocType), RegNumBranch = (sr == null ? string.Empty : sr.RegNumBranch), ClientName = (sr == null ? string.Empty : sr.ClientName), SourceSupdoc = (sr == null ? string.Empty : sr.SourceSupdoc), PassportNum = (sr == null ? string.Empty : sr.PassportNum), DocDate = (sr == null ? null : sr.DocDate), UpdateSdDate = (sr == null ? null : sr.UpdateSdDate), OperationId = ar.IdOper }; int count_rows = Operations.Count(); GridData[] arr_operations = new GridData[] { }; if (count_rows != 0) { CorrectProperties.Correction <GridData>(Operations); // Добавить правила сортировки полей StringBuilder sb = new StringBuilder(); if (req.OrderRules != null) { foreach (FindTranOrder fto in req.OrderRules) { sb.AppendFormat("{0} {1},", GridData.GetFieldName(fto.column), fto.dir); } } string order_by = sb.ToString().TrimEnd(','); if (req.StartRowNo >= count_rows) { ErrorString = "Некорректный номер строки для выбора из списка операций."; return(data_empty); } int page_length = ((req.StartRowNo + req.PageLength) <= count_rows) ? req.PageLength : (count_rows - req.StartRowNo); // Получение сортированного списка if (!String.IsNullOrEmpty(order_by)) { Operations = Operations.OrderBy(order_by); } arr_operations = Operations.Skip(req.StartRowNo).Take(page_length).ToArray(); } return(new ResponseData { recordsTotal = total_records, // количество всех записей отчета recordsFiltered = count_rows, // количество отфильтрованных записей data = GetDataArray(arr_operations) // массив со значениями строк }); } catch (Exception ex) { ErrorString = "Некорректное условие в фильтре: " + ex.Message; return(data_empty); } }
protected override void Seed(CcRepContext context) { base.Seed(context); // TestingApiFilters test_filters = new TestingApiFilters(context); // test_filters.Test_1(); /* * CcRepUser user = new CcRepUser { * FullName = "Петр Иванов", UserName = "******", * Email = "*****@*****.**" // , SecurityStamp = Guid.NewGuid().ToString() * }; */ /* * var BrAccessClaim = new CcRepUserClaim { ClaimType = "showAllBranches", ClaimValue = "True" }; * var FlAccessClaim = new CcRepUserClaim { ClaimType = "FlAccess", ClaimValue = "*" }; * var PdAccessClaim = new CcRepUserClaim { ClaimType = "PdAccess", ClaimValue = "*" }; * * // добавляем claim пользователю * user.Claims.Add(BrAccessClaim); * user.Claims.Add(FlAccessClaim); * user.Claims.Add(PdAccessClaim); */ /* * var defaultUsers = new List<CcRepUser>() { user }; * ((DbSet<CcRepUser>)context.Users).AddRange(defaultUsers); */ var year = DateTime.Now.Year; var month = DateTime.Now.Month; var startDate = new DateTime(year, month, 1).AddMonths(-1); var endDate = startDate.AddMonths(1).AddDays(-1); var Rep1 = new HeaderRep() { BeginDate = startDate, EndDate = endDate, CreateDate = startDate, UserLastEditedId = null, // UserLastEdited = defaultUsers[0] }; var dataHeaderReps = new List <HeaderRep>() { Rep1 }; context.HeaderReps.AddRange(dataHeaderReps); var createDate = startDate; var dataAddInfReps = new List <AddInfRep>() { new AddInfRep { Form = "405", Section = "1.1", Status = "INCLUDE", IdRep = Rep1.Id, IrbPaymentRK = 1, PaymentRK = 1, CNum = "1", NumDVK = "2", Source = "LOADED", NumJD = "10", HeaderRep = Rep1, SupdocFl = "N", Author = "Петров", CBAccount = "1111122222333334441", DateCreate = createDate, DateGetDoc = createDate, DateRequest = DateTime.Now }, new AddInfRep { Form = "406", Section = "1.2", Status = "INCLUDE", IdRep = Rep1.Id, IrbPaymentRK = 2, PaymentRK = 2, CNum = "2", NumDVK = "4", Source = "LOADED", NumJD = "11", HeaderRep = Rep1, SupdocFl = "N", Author = "Иванов", CBAccount = "1111122222333334442", DateCreate = createDate, DateGetDoc = createDate }, new AddInfRep { Form = "405", Section = "1.1", Status = "DUPLICATE", IdRep = Rep1.Id, IrbPaymentRK = 3, PaymentRK = 3, CNum = "5", NumDVK = "6", Source = "LOADED", NumJD = "12", HeaderRep = Rep1, SupdocFl = "Y", Author = "Сидоров", CBAccount = "1111122222333334443", DateCreate = DateTime.Now, DateGetDoc = DateTime.Now, DateRequest = DateTime.Now }, new AddInfRep { Form = "406", Section = "1.2", Status = "NOINFORM", IdRep = Rep1.Id, IrbPaymentRK = 4, PaymentRK = 4, CNum = "3", NumDVK = "5", Source = "LOADED", NumJD = "13", HeaderRep = Rep1, SupdocFl = "N", Author = "Сидоров", CBAccount = "1111122222333334444", DateCreate = DateTime.Now, DateGetDoc = DateTime.Now, DateLock = DateTime.Now, DateRemove = DateTime.Now }, new AddInfRep { Form = "405", Section = "2.1", Status = "NEW", IdRep = Rep1.Id, IrbPaymentRK = 5, PaymentRK = 5, CNum = "3", NumDVK = "4", Source = "LOADED", NumJD = "14", HeaderRep = Rep1, SupdocFl = "N", Author = "Иванов", CBAccount = "1111122222333334445", DateCreate = DateTime.Now, DateGetDoc = DateTime.Now, DateLock = DateTime.Now, DateRemove = DateTime.Now } }; context.AddInfReps.AddRange(dataAddInfReps); var dataBasicReps = new List <BasicRep>() { new BasicRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, Filial = "0001", PostDate = startDate.AddDays(1), TypeTooling = "DOL2", OperType = 11, DirectionPay = "INR", Count = 10, Share = 1.1m, Ccy = "RUB", Swift = "ALFARUMM", SwiftFil = "011", AmountAll = 5.0m, AmntIncome = 10.0m, RefNum = null, CodeVO = "30010", ValueDate = createDate.AddDays(3) }, new BasicRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, Filial = "0002", PostDate = startDate.AddDays(2), TypeTooling = "DOL3", OperType = 12, DirectionPay = "INR", Count = 10, Share = 1.1m, Ccy = "AUD", Swift = "SABRRUMM", SwiftFil = "011", AmountAll = 7.0m, AmntIncome = 11.0m, RefNum = null, CodeVO = "30020", ValueDate = createDate.AddDays(4) }, new BasicRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, Filial = "0001", PostDate = startDate.AddDays(3), TypeTooling = "DOL4", OperType = 13, DirectionPay = "OUTR", Count = 10, Share = 1.1m, Ccy = "BOB", Swift = "SABRRUMM", SwiftFil = "011", AmountAll = 8.0m, AmntIncome = 11.0m, RefNum = null, CodeVO = "30020", ValueDate = createDate.AddDays(4) }, new BasicRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, Filial = "0002", PostDate = startDate.AddDays(4), TypeTooling = "BON2", OperType = 14, DirectionPay = "OUTR", Count = 10, Share = 1.1m, Ccy = "BYN", Swift = "SABRRUMM", SwiftFil = "KR1", AmountAll = 7.0m, AmntIncome = 11.0m, RefNum = null, CodeVO = "30020", ValueDate = createDate.AddDays(5) }, new BasicRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, Filial = "0009", PostDate = startDate.AddDays(5), TypeTooling = "BON7", OperType = 30, DirectionPay = "INN", Count = 10, Share = 1.1m, Ccy = "RUB", Swift = "SABRRUMM", SwiftFil = "KR1", AmountAll = 10.0m, AmntIncome = 11.0m, RefNum = null, CodeVO = "30020", ValueDate = createDate.AddDays(7) } }; context.BasicReps.AddRange(dataBasicReps); var dataClientReps = new List <ClientRep>() { new ClientRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, NameRez = "Иванов", TypeRez = "ФЛ", BicPartner = "040702752", CountryRez = "643", INN = "111111111111", NameNerez = "Google Ltd", TypeNerez = "В", BankName = "DeutscheBank", CountryBank = "276", CountryNerez = "276", CountryPartner = "276", CustNo = "33311100", PartnerName = "UBS" }, new ClientRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, NameRez = "АО \"Рога и копыта\"", TypeRez = "ЮЛ", BicPartner = "040813770", CountryRez = "643", INN = "111111111112", NameNerez = "AG Bosh", TypeNerez = "В", BankName = "DeutscheBank", CountryBank = "276", CountryNerez = "276", CountryPartner = "276", CustNo = "55511100", PartnerName = "UBS" }, new ClientRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, NameRez = "Петров", TypeRez = "ФЛ", BicPartner = "040813770", CountryRez = "643", INN = "111111111113", NameNerez = "Simens", TypeNerez = "С", BankName = "DeutscheBank", CountryBank = "276", CountryNerez = "276", CountryPartner = "276", CustNo = "45511100", PartnerName = "UBS" }, new ClientRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, NameRez = "АО \"MTC\"", TypeRez = "ЮЛ", BicPartner = "040702752", CountryRez = "643", INN = "111111111114", NameNerez = "FrontRange Inc.", TypeNerez = "В", BankName = "Дж.П. Морган Банк Интернешнл", CountryBank = "840", CountryNerez = "276", CountryPartner = "840", CustNo = "66611100", PartnerName = "UBS" }, new ClientRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, NameRez = "АО \"Билайн\"", TypeRez = "ЮЛ", BicPartner = "040702752", CountryRez = "643", INN = "222222222222", NameNerez = "Google Ltd", TypeNerez = "В", BankName = "THE BANK OF NEW YORK MELLON, NY", CountryBank = "840", CountryNerez = "840", CountryPartner = "840", CustNo = "77711100", PartnerName = "UBS" }, }; context.ClientReps.AddRange(dataClientReps); var dataAddReps = new List <AddRep>() { new AddRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, CcdUser = "******", Narrative = "Назначение 1", CityCode = "495", NoticeReport = "Примечание 1", DepAcc = "0001", Source405 = "Источник 405_1", ContractNum = "1773411103517000041", ModifyDate = createDate.AddDays(3), ModifyUser = "******" }, new AddRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, CcdUser = "******", Narrative = "Назначение 2", CityCode = "812", NoticeReport = "Примечание 2", DepAcc = "0002", Source405 = "Источник 405_2", ContractNum = "2773411103517000041", ModifyDate = createDate.AddDays(4), ModifyUser = "******" }, new AddRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, CcdUser = "******", Narrative = "Назначение 3", CityCode = "495", NoticeReport = "Примечание 3", DepAcc = "0003", Source405 = "Источник 405_3", ContractNum = "1773411103517000054", ModifyDate = createDate.AddDays(5), ModifyUser = "******" }, new AddRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, CcdUser = "******", Narrative = "Назначение 4", CityCode = "495", NoticeReport = "Примечание 4", DepAcc = "0004", Source405 = "Источник 405_4", ContractNum = "1773411103517000043", ModifyDate = createDate.AddDays(6), ModifyUser = "******" }, new AddRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, CcdUser = "******", Narrative = "Назначение 5", CityCode = "812", NoticeReport = "Примечание 5", DepAcc = "0005", Source405 = "Источник 405_5", ContractNum = "1773411103517000041", ModifyDate = createDate.AddDays(7), ModifyUser = "******" }, }; context.AddReps.AddRange(dataAddReps); var dataIssuerReps = new List <IssuerRep>() { new IssuerRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, IssuerName = "MTC", SecurityCode = "7734202860", RegNumIssuer = "2120521001122", DateRegIssuer = startDate.AddYears(-1), RepayDate = startDate.AddMonths(5), CcyIssuer = "RUB", IssuerCode = 2, IssuerReestr = "56823-D" }, new IssuerRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, IssuerName = "Билайн", SecurityCode = "7734202850", RegNumIssuer = "2120521001133", DateRegIssuer = startDate.AddYears(-1), RepayDate = startDate.AddMonths(6), CcyIssuer = "RUB", IssuerCode = 2, IssuerReestr = "32978-E" }, new IssuerRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, IssuerName = "Индустриальный банк", SecurityCode = "7734202861", RegNumIssuer = "2120521001135", DateRegIssuer = startDate.AddYears(-2), RepayDate = startDate.AddMonths(3), CcyIssuer = "RUB", IssuerCode = 2, IssuerReestr = "32979-E" }, new IssuerRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, IssuerName = "Сбербанк", SecurityCode = "7734202862", RegNumIssuer = "2120521001137", DateRegIssuer = startDate.AddYears(-2), RepayDate = startDate.AddMonths(7), CcyIssuer = "RUB", IssuerCode = 0, IssuerReestr = "46823-E" }, new IssuerRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, IssuerName = "Райффайзенбанк", SecurityCode = "7734202863", RegNumIssuer = "2120521001145", DateRegIssuer = startDate.AddYears(-3), RepayDate = startDate.AddMonths(8), CcyIssuer = "AUD", IssuerCode = 2, IssuerReestr = "16823-E" } }; context.IssuerReps.AddRange(dataIssuerReps); var dataNoticeReps = new List <NoticeRep>() { new NoticeRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, Notice = "Примечание 10", NoticeIssuer = "Прим. 11", NoticeExchange = "Прим. 12", NoticeInst = "Прим. 13", NoticeProperty = "Прим. 14", NoticeBank = "Прим. 15" }, new NoticeRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, Notice = "Примечание 20", NoticeIssuer = "Прим. 21", NoticeExchange = "Прим. 22", NoticeInst = "Прим. 23", NoticeProperty = "Прим. 24", NoticeBank = "Прим. 25" }, new NoticeRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, Notice = "Примечание 30", NoticeIssuer = "Прим. 31", NoticeExchange = "Прим. 32", NoticeInst = "Прим. 33", NoticeProperty = "Прим. 34", NoticeBank = "Прим. 35" }, new NoticeRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, Notice = "Примечание 40", NoticeIssuer = "Прим. 41", NoticeExchange = "Прим. 42", NoticeInst = "Прим. 43", NoticeProperty = "Прим. 44", NoticeBank = "Прим. 45" }, new NoticeRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, Notice = "Примечание 50", NoticeIssuer = "Прим. 51", NoticeExchange = "Прим. 52", NoticeInst = "Прим. 53", NoticeProperty = "Прим. 54", NoticeBank = "Прим. 55" } }; context.NoticeReps.AddRange(dataNoticeReps); var dataRep406 = new List <Rep406>() { new Rep406 { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, OperKind = 20, Notice40 = "Прим. 11", AmountTo = 2.2m, AmountFrom = 4.4m, BicBank = "044525225", CountryBank406 = "643", AddCode10 = "2", KindRez = "Покупатель", KindNerez = "С", KindContract = "OC", TypeContract = "П", Notice15 = "Прим. 12", Notice16 = "Прим. 13", NoticeOther = "Прим. 14" }, new Rep406 { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, OperKind = 40, Notice40 = "Прим. 22", AmountTo = 2.2m, AmountFrom = 4.4m, BicBank = "044525225", CountryBank406 = "643", AddCode10 = "3", KindRez = "Продавец", KindNerez = "С", KindContract = "OC", TypeContract = "Р", Notice15 = "Прим. 22", Notice16 = "Прим. 23", NoticeOther = "Прим. 24" } }; context.Rep406s.AddRange(dataRep406); var dataSupdocReps = new List <SupdocRep>() { new SupdocRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, CodeSupdoc = "01_3", SupdocName = "Doc 1", Prinvest = 1, EntryDate = startDate.AddDays(3), SupdocType = "Р", RegNumBranch = "0001", ClientName = "Рога и копыта", SourceSupdoc = "Наименование док. 1", PassportNum = "101010101", DocDate = startDate.AddDays(4), UpdateSdDate = startDate.AddDays(5) }, new SupdocRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, CodeSupdoc = "01_4", SupdocName = "Doc 2", Prinvest = 2, EntryDate = startDate.AddDays(4), SupdocType = "Р", RegNumBranch = "0002", ClientName = "MTC", SourceSupdoc = "Наименование док. 2", PassportNum = "201010101", DocDate = startDate.AddDays(5), UpdateSdDate = startDate.AddDays(6) }, new SupdocRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, CodeSupdoc = "03_3", SupdocName = "Doc 3", Prinvest = 3, EntryDate = startDate.AddDays(7), SupdocType = "Р", RegNumBranch = "0001", ClientName = "Билайн", SourceSupdoc = "Наименование док. 3", PassportNum = "301010101", DocDate = startDate.AddDays(8), UpdateSdDate = startDate.AddDays(9) }, new SupdocRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, CodeSupdoc = "03_3", SupdocName = "Doc 4", Prinvest = 4, EntryDate = startDate.AddDays(1), SupdocType = "Р", RegNumBranch = "0002", ClientName = "Мегафон", SourceSupdoc = "Наименование док. 4", PassportNum = "201010104", DocDate = startDate.AddDays(2), UpdateSdDate = startDate.AddDays(3) }, new SupdocRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, CodeSupdoc = "07_4", SupdocName = "Doc 5", Prinvest = 1, EntryDate = startDate.AddDays(3), SupdocType = "Р", RegNumBranch = "0001", ClientName = "Теле 2", SourceSupdoc = "Наименование док. 5", PassportNum = "201010111", DocDate = startDate.AddDays(4), UpdateSdDate = startDate.AddDays(5) }, }; context.SupdocReps.AddRange(dataSupdocReps); /* * var dataCommentsReps = new List<CommentsRep>() * { * new CommentsRep { AddInfRep = dataAddInfReps[0], IdOper = dataAddInfReps[0].IdOper, * UserId = null, Comments = "bla bla bla 1" }, * new CommentsRep { AddInfRep = dataAddInfReps[1], IdOper = dataAddInfReps[1].IdOper, * UserId = null, Comments = "bla bla bla 2" }, * new CommentsRep { AddInfRep = dataAddInfReps[2], IdOper = dataAddInfReps[2].IdOper, * UserId = null, Comments = "bla bla bla 3" }, * new CommentsRep { AddInfRep = dataAddInfReps[3], IdOper = dataAddInfReps[3].IdOper, * UserId = null, Comments = "bla bla bla 4" }, * new CommentsRep { AddInfRep = dataAddInfReps[4], IdOper = dataAddInfReps[4].IdOper, * UserId = null, Comments = "bla bla bla 5" } * }; * * context.CommentsReps.AddRange(dataCommentsReps); */ TestingApiFilters test_filters = new TestingApiFilters(context); // test_filters.Tests(dataHeaderReps[0], 6, dataAddInfReps.Count); test_filters.AllTests(dataHeaderReps[0], dataAddInfReps.Count); }