示例#1
0
        int IUserRegisteredRequests.GetRequestCountByFilter(decimal personId, RequestType?requestType, RequestSubmiter?submiter, DateTime?fromDate, DateTime?toDate)
        {
            RequestRepository requestRep = new RequestRepository(false);
            int count = requestRep.GetAllUserRequestCount(fromDate, toDate, requestType, submiter, personId);

            return(count);
        }
示例#2
0
        IList <InfoRequest> IUserRegisteredRequests.GetAllRequests(decimal personId, RequestState requestState, DateTime fromDate, DateTime toDate, int pageIndex, int pageSize)
        {
            RequestRepository   requestRep = new RequestRepository(false);
            IList <InfoRequest> result     = requestRep.GetAllUserRequestByPagging(fromDate, toDate, requestState, personId, pageIndex, pageSize);

            return(result);
        }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="personId"></param>
        /// <param name="requestStatus"></param>
        /// <param name="fromDate">تاریخ تایید یا عدم تایید درخواست</param>
        /// <param name="toDate">تاریخ تایید یا عدم تایید درخواست</param>
        /// <returns></returns>
        int IUserRegisteredRequests.GetRequestCount(decimal personId, RequestState requestStatus, DateTime fromDate, DateTime toDate)
        {
            RequestRepository requestRep = new RequestRepository(false);
            int result = requestRep.GetAllUserRequestCount(fromDate, toDate, requestStatus, personId);

            return(result);
        }
示例#4
0
        int IManagerReviewedRequests.GetRequestCount(decimal managerId, string searchKey, DateTime fromDate, DateTime toDate)
        {
            RequestRepository requestRep = new RequestRepository(false);
            //var ids = from o in quickSearchUnderMnagment
            //          select o.ID;
            //int result = requestRep.GetAllManagerReviewdCount(fromDate, toDate, RequestState.UnKnown, managerId, ids.ToArray());
            //return result;
            IList <decimal>    managerList    = new List <decimal>();
            BSubstitute        subBus         = new BSubstitute();
            IList <Substitute> substituteList = subBus.GetSubstitute(BUser.CurrentUser.Person.ID);

            if (substituteList.Count > 0)
            {
                managerList = subBus.GetSubstituteManagerList(BUser.CurrentUser.Person.ID);
            }
            managerList.Add(managerId);

            IList <InfoRequest> requests = requestRep.GetAllReviewdKartablItems(fromDate, toDate, RequestState.UnKnown, managerList, KartablOrderBy.RequestDate);

            requests = this.AppllySubstituteAccess(managerId, requests, substituteList);

            if (!Utility.IsEmpty(searchKey))
            {
                requests = this.AppllyQuickSearch(searchKey, requests);
            }
            return(requests.Count);
        }
示例#5
0
        IList <InfoRequest> IUserRegisteredRequests.GetAllRequestsByFilter(decimal personId, RequestType?requestType, RequestSubmiter?submiter, DateTime?fromDate, DateTime?toDate, int pageIndex, int pageSize)
        {
            RequestRepository   requestRep = new RequestRepository(false);
            IList <InfoRequest> list       = requestRep.GetAllUserFilterRequestByPagging(fromDate, toDate, requestType, submiter, personId, pageIndex, pageSize);

            return(list);
        }
示例#6
0
        public ActionResult CompleteRequest(string rowKey, string link, string datasetLink, string releasedDate)
        {
            Request re = RequestRepository.GetRequest(rowKey);

            if (re == null)
            {
                throw new ApplicationException("Requested request does not exist.");
            }

            re.Links       = link;
            re.DatasetLink = datasetLink;
            re.Status      = "Completed";
            if (!string.IsNullOrEmpty(releasedDate))
            {
                DateTime dt;
                if (DateTime.TryParse(releasedDate, CultureInfo.CreateSpecificCulture("en-US"), DateTimeStyles.AdjustToUniversal, out dt))
                {
                    re.ReleaseDate = dt;
                }
            }

            RequestRepository.UpdateRequest(re);

            string result = string.Format("<h2 style='color:green'>Request: \"{0}\" is completed</h2>", re.Subject);

            return(Json(result));
        }
        public NotificationsController()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            requestRepository = new RequestRepository(context);
            profileRepository = new ProfileRepository(context);
        }
 public CartableService(IUnitOfWork unitOfWork, IPostPersonRepository postPersonRepository,
                        IFieldofStudyRepository fieldofStudyRepository, ICartableRepository cartableRepository,
                        RequestRepository requestRepository, IVoteRepository voteRepository,
                        ISignerRepository signerRepository, ISettingsRepository settingsRepository,
                        IPersonelRepository personelRepository, ICommissionRepository commissionRepository,
                        ICouncilRepository councilRepository, IRequestService requestService,
                        IUserPostRepository userPostRepository, IPostRepository postRepository,
                        ICommissionService commissionService, ICouncilService councilService)
 {
     _unitOfWork             = unitOfWork;
     _postPersonRepository   = postPersonRepository;
     _fieldofStudyRepository = fieldofStudyRepository;
     _cartableRepository     = cartableRepository;
     _requestRepository      = requestRepository;
     _signerRepository       = signerRepository;
     _voteRepository         = voteRepository;
     _settingsRepository     = settingsRepository;
     _personelRepository     = personelRepository;
     _commissionRepository   = commissionRepository;
     _councilRepository      = councilRepository;
     _requestService         = requestService;
     _userPostRepository     = userPostRepository;
     _postRepository         = postRepository;
     _commissionService      = commissionService;
     _councilService         = councilService;
 }
示例#9
0
        //public ActionResult Details(string key)
        //{
        //    var request = requestRepository.GetRequest(key);

        //    return View("KeyDetails", request);
        //}

        public ActionResult SendMessage(SendMessageModel message)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(message.MessageText) && Request.Files.Count == 0)
                {
                    Response.StatusCode = 400;
                    return(Content("Either a message or a file is required."));
                }

                if (Request.Files.Count > 0)
                {
                    var uploadFile = Request.Files[0];

                    byte[] fileData = RequestRepository.ReadFully(uploadFile.InputStream);
                    requestRepository.AttachFileToRequest(message.KeyToken, fileData, uploadFile.FileName);

                    return(Content("<h1>File uploaded and sent to Key Id</h1>"));
                }
                else
                {
                    requestRepository.AttachMessageToRequest(message.KeyToken, message.MessageText);
                    return(Content("<h1>Message encrypted and sent to Key Id</h1>"));
                }
            }
            catch (Exception ex)
            {
                //Response.StatusCode = 401;
                return(Content("Unable to send message.  Please check the Key Id field."));
            }
        }
示例#10
0
 public void Post([FromBody] Request request)
 {
     if (ModelState.IsValid)
     {
         RequestRepository.Add(request);
     }
 }
示例#11
0
        public async Task RequestEditRequest(RequestEntity requestEntity)
        {
            var request = await RequestRepository.RequestsGetRequest(requestEntity.RequestUID);

            if (requestEntity.RequestType != 0)
            {
                request.RequestType = (int)requestEntity.RequestType;
            }

            if (requestEntity.RequestDenialComment != null)
            {
                request.RequestDenialComment += requestEntity.RequestDenialComment;
            }

            if (requestEntity.RequestStartDate != DateTime.MinValue)
            {
                request.RequestStartDate = requestEntity.RequestStartDate;
            }

            if (requestEntity.RequestEndDate != DateTime.MinValue)
            {
                request.RequestEndDate = requestEntity.RequestEndDate;
            }

            request.RequestNumberOfDays = request.RequestStartDate.GetBusinessDaysTo(request.RequestEndDate);

            request.RequestStatus = (int)RequestStatus.Adjusted;

            await RequestRepository.RequestSave();
        }
示例#12
0
    protected string LoadRequestTravel()
    {
        if (SessionUtil.GetValue("UserID") == "")
        {
            return("");
        }
        StringBuilder     str   = new StringBuilder();
        int               memID = int.Parse(SessionUtil.GetValue("UserID"));
        string            sql   = "SELECT Diemdi, Diemden FROM tbl_User m join User_NhaXe un on m.User_ID=un.UserID join Nhaxe nx on nx.ID=un.NhaxeId join Xe xe on xe.Nhaxe=nx.ID join ChuyenXe cx on cx.MaXe=xe.MaXe WHERE m.User_ID=" + memID;
        DataTable         dt    = UpdateData.UpdateBySql(sql).Tables[0];
        DataRowCollection rows  = dt.Rows;

        foreach (DataRow item in rows)
        {
            string diemdi  = item["Diemdi"].ToString();
            string diemden = item["Diemden"].ToString();
            var    rq      = new RequestRepository().SearchFor(o => o.From.Contains(diemdi) || diemdi.Contains(o.From) && diemden.Contains(o.To) || o.To.Contains(diemden)).ToList();
            var    i       = 1;
            foreach (var item2 in rq)
            {
                str.Append("<tr>");
                str.Append("<td>" + i + "</td>");
                str.Append("<td>" + diemdi + "</td>");
                str.Append("<td>" + diemden + "</td>");
                str.Append("<td>" + item2.Sdt + "</td>");
                str.Append("<td>" + item2.StartDate.Value.ToString("dd/MM/yyyy") + "</td>");
                str.Append("<td>" + item2.StartTime.Value.ToString("hh:mm") + "</td>");
                str.Append("<td>" + item2.More + "</td>");
                str.Append("</tr>");
                i++;
            }
        }
        return(str.ToString());
    }
示例#13
0
        public RequestLogic CreateLogic()
        {
            var Repository = new RequestRepository(Context);
            var Logic      = new RequestLogic(Repository);

            return(Logic);
        }
示例#14
0
        // http://localhost:62633/Service/AddMessage?token=a073f62e-e2de-48b9-8002-ac5994528038&message=hello world
        //[HttpPost]
        public ActionResult SendMessage(string token, string message, string encryptedmessage, string encryptionkey)
        {
            if (Request.Files.Count == 0 && string.IsNullOrWhiteSpace(message) && string.IsNullOrWhiteSpace(encryptedmessage))
            {
                Response.StatusCode = 400;
                return(SerializeResult("Message or encryptedmessage or file required"));
            }

            if (Request.Files.Count > 0)
            {
                var uploadFile = Request.Files[0];

                byte[] fileData = RequestRepository.ReadFully(uploadFile.InputStream);
                requestRepository.AttachFileToRequest(token, fileData, uploadFile.FileName);
            }

            if (!string.IsNullOrWhiteSpace(message))
            {
                requestRepository.AttachMessageToRequest(token, message);
            }

            if (!string.IsNullOrWhiteSpace(encryptedmessage))
            {
                requestRepository.AttachEncryptedMessageToRequest(token, encryptedmessage, encryptionkey);
            }

            return(SerializeResult(true));
        }
示例#15
0
        public void Create_Request_With_Passphrase_AttachFile_Decrypt_Verify()
        {
            // Arrange:

            string fileName = AssemblyDirectory + @"\Test.PNG";

            byte[] fileBytes = File.ReadAllBytes(fileName);

            var repository = new RequestRepository();
            var request    = CryptoKey.CreateRequestWithPassPhrase(password);

            // Act:
            repository.AddRequest(request);
            repository.AttachFileToRequest(request.KeyToken, fileBytes, fileName);
            var decryptedMessages = repository.GetDecryptedMessagesWithPassphrase(request.KeyToken, password);

            // Assert:
            Assert.IsTrue(decryptedMessages.Count > 0);

            byte[] decryptedString = Convert.FromBase64String(decryptedMessages.First().MessageData);

            var zipStream = new MemoryStream(decryptedString);

            using (ZipFile zip = ZipFile.Read(zipStream))
            {
                var files = zip.ToList();
                Assert.IsTrue(files.Count == 1);
            }
        }
示例#16
0
 public IHttpActionResult GetPendingRequests()
 {
     return(Ok(RequestRepository
               .Where(x => x.Status == RequestStatus.Pending)
               .OrderBy(x => x.TimeStamp)
               .AsDto()));
 }
示例#17
0
        public void Create_Message_Encrypt_Decrypt_Verify()
        {
            // Arrange:
            var          repository = new RequestRepository();
            var          request    = CryptoKey.CreateRequest(DateTime.Now);
            var          keys       = AsymmetricCryptoProvider.GenerateKeys();
            var          crypto     = new AsymmetricCryptoProvider();
            const string message    = "secret message";

            string encryptedPassword;
            string hash;
            string encryptedMessage = crypto.EncryptMessageWithKey(message, keys.PublicKey, out encryptedPassword,
                                                                   out hash);

            request.Messages.Add(new Message
            {
                MessageData = encryptedMessage, EncryptionKey = encryptedPassword, MessageHash = hash
            });

            // Act:
            repository.AddRequest(request);
            var retrieved        = repository.GetRequest(request.KeyToken);
            var retrievedMessage = retrieved.Messages.First();

            string messageDecryptionKey;

            var decryptedMessage = crypto.DecryptMessageWithKey(keys.PrivateKey, retrievedMessage.MessageData,
                                                                retrievedMessage.EncryptionKey,
                                                                retrievedMessage.MessageHash, out messageDecryptionKey);

            // Assert:
            Assert.AreEqual(message, decryptedMessage);
        }
示例#18
0
        public void NotifyOnMessageReceived()
        {
            // Arrange:
            var repository = new RequestRepository();
            var request    = CryptoKey.CreateRequestWithPassPhrase(password);

            request.Notifications.Add(new Notification {
                Email = "*****@*****.**"
            });

            // Act:
            repository.AddRequest(request);
            repository.AttachMessageToRequest(request.KeyToken, message);

            //Mock<IRequestRepository> mock = new Mock<IRequestRepository>();

            //mock.Setup(m=> m.NotifyOnMessageReceived(request.KeyToken)).Verifiable("Sends notification");

            //mock.Verify(m=> m.NotifyOnMessageReceived(request.KeyToken));

            //   var decryptedMessages = repository.GetDecryptedMessagesWithPassphrase(request.KeyToken, password);

            //    var request2 = repository.GetRequest(request.KeyToken);

            // Assert:
            //   Assert.IsNull(request2);
        }
示例#19
0
 public IHttpActionResult GetMyRequest()
 {
     return(Ok(RequestRepository
               .Where(x => x.EmployeeId == CurrentUser.Id && x.Cleared == false)
               .OrderByDescending(x => x.TimeStamp)
               .AsDto()));
 }
示例#20
0
        public IHttpActionResult SetRequest(RequestModel model)
        {
            var title = model.Title;
            var info  = model.Info;

            if (title.IsEmpty())
            {
                return(BadRequest("ERROR: Taotlusel puudub pealkiri"));
            }

            var request = new Request()
            {
                Req         = title,
                Description = info,
                EmployeeId  = CurrentUser.Id,
                Status      = RequestStatus.Pending,
                TimeStamp   = DateTime.Now
            };

            RequestRepository.AddIfNew(request);

            RequestRepository.Commit();
            var emails = EmployeeRepository
                         .Where(x => x.RequestMessages == true && x.Role.Rights.HasFlag(AccessRights.Requests)).Select(x => x.Email).ToList();

            EmailService.RequestRequested(request, emails);

            return(Ok());
        }
示例#21
0
        public SearchController()
        {
            ApplicationDbContext context = new ApplicationDbContext();

            userRepository    = new UserRepository(context);
            requestRepository = new RequestRepository(context);
        }
        public static async Task GetRequests_converts_raw_items_for_single_user_to_requests()
        {
            var mockDatabaseProvider = new Mock <IDatabaseProvider>(MockBehavior.Strict);

            SetupMockRepository(
                mockDatabaseProvider,
                "User1",
                new YearMonth(2020, 8),
                CreateRawItem(
                    "User1",
                    "2020-08",
                    KeyValuePair.Create("02", "I"),
                    KeyValuePair.Create("13", "A")));
            SetupMockRepository(
                mockDatabaseProvider,
                "User1",
                new YearMonth(2020, 9),
                CreateRawItem(
                    "User1",
                    "2020-09",
                    KeyValuePair.Create("30", "C")));

            var requestRepository = new RequestRepository(Mock.Of <ILogger <RequestRepository> >(), mockDatabaseProvider.Object);

            var result = await requestRepository.GetRequests("User1", 1.August(2020), 30.September(2020));

            Assert.NotNull(result);

            Assert.Equal(3, result.Count);

            CheckRequest(result, "User1", 2.August(2020), RequestStatus.Interrupted);
            CheckRequest(result, "User1", 13.August(2020), RequestStatus.Allocated);
            CheckRequest(result, "User1", 30.September(2020), RequestStatus.Cancelled);
        }
示例#23
0
        IList <InfoRequest> IManagerKartabl.GetAllRequests(decimal managerId)
        {
            RequestRepository   requestRep = new RequestRepository(false);
            IList <InfoRequest> result     = requestRep.GetAllManagerKartabl(managerId, KartablOrderBy.PersonCode);

            return(result);
        }
        public static async Task SaveRequests_converts_status_enum_to_raw_string_value(
            RequestStatus requestStatus,
            string expectedRawValue)
        {
            var mockDatabaseProvider = new Mock <IDatabaseProvider>(MockBehavior.Strict);

            mockDatabaseProvider
            .Setup(p => p.GetRequests("User1", new YearMonth(2020, 9)))
            .ReturnsAsync(new List <RawItem>());
            mockDatabaseProvider
            .Setup(p => p.SaveItems(It.IsAny <IEnumerable <RawItem> >()))
            .Returns(Task.CompletedTask);

            var requestRepository = new RequestRepository(Mock.Of <ILogger <RequestRepository> >(), mockDatabaseProvider.Object);

            var requests = new[] { new Request("User1", 1.September(2020), requestStatus) };

            await requestRepository.SaveRequests(requests, DefaultUsers);

            var expectedRawItems = new[]
            {
                CreateRawItem("User1", "2020-09", KeyValuePair.Create("01", expectedRawValue)),
            };

            mockDatabaseProvider.Verify(p => p.SaveItems(
                                            It.Is <IEnumerable <RawItem> >(actual => CheckRawItems(expectedRawItems, actual.ToList()))),
                                        Times.Once);
        }
示例#25
0
        public async Task RequestCollective(int requestId, DateTime startDate, DateTime endDate)
        {
            var numberOfDays = startDate.GetBusinessDaysTo(endDate);

            Expression <Func <Employee, bool> > emplSpec = x => x.EmployeeDeletedOn == null;

            Expression <Func <Employee, int> > emplProj = x => x.EmployeeID;

            var employeesIDs = await EmployeeRepository.EmployeeGetList <int>(emplSpec, emplProj);

            string comment = " ";

            comment = comment.CollectiveCommentTo();

            //File treba da se izgenerise i mejl isto treba da se odradi
            var requests = employeesIDs.Select(x => new Request()
            {
                EmployeeID           = x,
                RequestUID           = Guid.NewGuid(),
                RequestType          = (int)RequestTypes.Annual,
                RequestDenialComment = comment,
                RequestCreatedOn     = DateTime.UtcNow,
                RequestStatus        = (int)RequestStatus.Accepted,
                RequestNumberOfDays  = numberOfDays,
                RequestID            = requestId,
                RequestStartDate     = startDate,
                RequestEndDate       = endDate
            }).ToList();

            foreach (var req in requests)
            {
                await RequestRepository.RequestInsert(req);
            }
        }
示例#26
0
        /// <summary>
        /// جستجو بر اساس
        /// نام شخص
        /// شماره پرسنلی
        /// پیشکارت
        /// تاریخ ثبت ,شروع ,پایان
        /// توضیح درخواست
        /// </summary>
        /// <param name="managerId"></param>
        /// <param name="searchKey"></param>
        /// <param name="fromDate"></param>
        /// <param name="toDate"></param>
        /// <returns></returns>
        int IManagerKartabl.GetRequestCount(decimal managerId, string searchKey, DateTime fromDate, DateTime toDate)
        {
            //int result = requestRep.GetAllManagerKartablCount(fromDate, toDate, RequestType.None, managerId, ids.ToArray());
            IList <decimal>    managerList    = new List <decimal>();
            BSubstitute        subBus         = new BSubstitute();
            IList <Substitute> substituteList = subBus.GetSubstitute(BUser.CurrentUser.Person.ID);

            if (substituteList.Count > 0)
            {
                managerList = subBus.GetSubstituteManagerList(BUser.CurrentUser.Person.ID);
            }
            managerList.Add(managerId);

            RequestRepository requestRep = new RequestRepository(false);

            IList <InfoRequest> requests = requestRep.GetAllKartablItems(fromDate, toDate, RequestType.None, managerList, KartablOrderBy.None);

            requests = this.AppllySubstituteAccess(managerId, requests, substituteList);

            if (!Utility.IsEmpty(searchKey))
            {
                requests = this.AppllyQuickSearch(searchKey, requests);
            }

            return(requests.Count);
        }
示例#27
0
        public RequestViewModel(RequestClass requestmodel, RequestRepository requestRepository, ProgramRepository programRepository, BatteryRepository batteryRepository)     //RequestView需要
        {
            if (requestmodel == null)
            {
                throw new ArgumentNullException("Requestmodel");
            }

            if (requestRepository == null)
            {
                throw new ArgumentNullException("RequestRepository");
            }

            if (programRepository == null)
            {
                throw new ArgumentNullException("programRepository");
            }

            if (batteryRepository == null)
            {
                throw new ArgumentNullException("batteryRepository");
            }

            _request           = requestmodel;
            _requestRepository = requestRepository;
            _programRepository = programRepository;
            _batteryRepository = batteryRepository;
        }
示例#28
0
        /// <summary>
        ///     Initialize SDK at the start of your app
        /// </summary>
        private async void Awake()
        {
            DontDestroyOnLoad(gameObject);
            Instance = this;

            _db = CountlyBoxDbHelper.BuildDatabase(DbNumber);

            var auto              = _db.Open();
            var configDao         = new Dao <ConfigEntity>(auto, EntityType.Configs.ToString());
            var requestDao        = new Dao <RequestEntity>(auto, EntityType.Requests.ToString());
            var viewEventDao      = new Dao <EventEntity>(auto, EntityType.ViewEvents.ToString());
            var viewSegmentDao    = new SegmentDao(auto, EntityType.ViewEventSegments.ToString());
            var nonViewEventDao   = new Dao <EventEntity>(auto, EntityType.NonViewEvents.ToString());
            var nonViewSegmentDao = new SegmentDao(auto, EntityType.NonViewEventSegments.ToString());

            var requestRepo             = new RequestRepository(requestDao, Config);
            var eventViewRepo           = new ViewEventRepository(viewEventDao, viewSegmentDao, Config);
            var eventNonViewRepo        = new NonViewEventRepository(nonViewEventDao, nonViewSegmentDao, Config);
            var eventNrInSameSessionDao = new EventNumberInSameSessionDao(auto, EntityType.EventNumberInSameSessions.ToString());

            requestRepo.Initialize();
            eventViewRepo.Initialize();
            eventNonViewRepo.Initialize();

            var eventNumberInSameSessionHelper = new EventNumberInSameSessionHelper(eventNrInSameSessionDao);

            Init(requestRepo, eventViewRepo, eventNonViewRepo, configDao, eventNumberInSameSessionHelper);


            Initialization.Begin(Auth.ServerUrl, Auth.AppKey);
            Device.InitDeviceId(Auth.DeviceId);

            await Initialization.SetDefaults(Config);
        }
示例#29
0
        private void Init(RequestRepository requestRepo, ViewEventRepository viewEventRepo,
                          NonViewEventRepository nonViewEventRepo, Dao <ConfigEntity> configDao, EventNumberInSameSessionHelper eventNumberInSameSessionHelper)
        {
            var countlyUtils = new CountlyUtils(this);
            var requests     = new RequestCountlyHelper(Config, countlyUtils, requestRepo);

            Events             = new EventCountlyService(Config, requests, viewEventRepo, nonViewEventRepo, eventNumberInSameSessionHelper);
            OptionalParameters = new OptionalParametersCountlyService();
            Notifications      = new NotificationsCallbackService(Config);
            var notificationsService = new ProxyNotificationsService(Config, InternalStartCoroutine, Events);

            _push   = new PushCountlyService(Events, requests, notificationsService, Notifications);
            Session = new SessionCountlyService(Config, _push, requests, OptionalParameters, eventNumberInSameSessionHelper);

            Consents     = new ConsentCountlyService();
            CrashReports = new CrashReportsCountlyService(Config, requests);

            Device         = new DeviceIdCountlyService(Session, requests, Events, countlyUtils);
            Initialization = new InitializationCountlyService(Session);

            RemoteConfigs = new RemoteConfigCountlyService(Config, requests, countlyUtils, configDao);

            StarRating     = new StarRatingCountlyService(Events);
            UserDetails    = new UserDetailsCountlyService(requests, countlyUtils);
            Views          = new ViewCountlyService(Config, Events);
            _inputObserver = InputObserverResolver.Resolve();
        }
示例#30
0
        public ActionResult Accept(int?id, int?tripinfoid)
        {
            //Update requests
            RequestRepository reqRepo = new RequestRepository();
            Request           request = reqRepo.GetById(id);

            request.Response = 1;

            reqRepo.UpdateRequest(request);

            //Update trip information
            TripInformationRepository tripInfoRepo = new TripInformationRepository();
            TripInformation           tripInfo     = tripInfoRepo.GetById(tripinfoid);

            tripInfo.Users.Add(request.User);
            tripInfo.Capacity--;

            //Added instead of update repo
            string        sql            = "update TripInformation set Capacity=@P0 where TripInformationId=@P1";
            List <object> parameterList1 = new List <object>();

            //User user = (User)Session["__user"];
            parameterList1.Add(tripInfo.Capacity);
            parameterList1.Add(tripInfo.TripInformationId);
            object[] parameters1 = parameterList1.ToArray();
            int      result      = db.Database.ExecuteSqlCommand(sql, parameters1);


            //tripInfoRepo.UpdateTripInformation(tripInfo);//Error when executing this line



            return(RedirectToAction("Index", "Request"));
        }
示例#31
0
 public RequestController()
 {
     req = new RequestRepository();
 }
示例#32
0
        public static void FillDb()
        {
            using (var context = new BankDbContext())
            {
                Console.WriteLine("ConnectionString\n" + context.Database.Connection.ConnectionString);
                Console.WriteLine("DataSource\n" + context.Database.Connection.DataSource);
                Console.WriteLine("ConnectionString\n" + context.Database.Connection.Database);
                // CLEARS ALL DATA !!!
                Console.WriteLine("ALL DATA WILL BE DELETED FROM DB NOW!!! ([ENTER] TO PROCEED)");
                Console.ReadLine();
                //if (!context.Database.Exists())
                //{
                    context.Database.Delete();
                    context.Database.Create();
                //}
                context.Database.Initialize(true);//
                Console.WriteLine("Db initialized");
                Console.ReadLine();
                context.Accounts.RemoveRange(context.Accounts);
                ///Console.WriteLine("I've successfully completed first db action!");
                ///Console.ReadLine();
                context.Clients.RemoveRange(context.Clients);
                context.Credits.RemoveRange(context.Credits);
                context.CreditTypes.RemoveRange(context.CreditTypes);
                context.Payments.RemoveRange(context.Payments);
                context.Requests.RemoveRange(context.Requests);
                //context.RequestStatuses.RemoveRange(context.RequestStatuses);
                context.Users.RemoveRange(context.Users);
                context.SaveChanges();
                // CLEARS ALL DATA !!!

                //var statusRepo = new RequestStatusRepository(context);
                //var statusCreated = new RequestStatus { Status = "Created" };
                //var statusConfirmedByOperator = new RequestStatus { Status = "statusConfirmedByOperator" };
                //var statusConfirmedBySse = new RequestStatus { Status = "statusConfirmedBySecurityServiceEmployee" };
                ////var statusConfirmed = new RequestStatus { Status = "ConfirmedBy" };
                //var statusCreditProvided = new RequestStatus { Status = "statusCreditProvided" };
                //var statusDenied = new RequestStatus { Status = "Denied" };
                //statusRepo.Add(statusCreated, statusConfirmedByOperator, statusConfirmedByOperator, statusCreditProvided,statusDenied);

                //   context.SaveChanges();
                //            var confirmedByOperatorStatusId = statusCreditProvided.RequestStatusId;
                //             var createdStatusId = statusCreated.RequestStatusId;
                //             var deinedStatusId = statusDenied.RequestStatusId;

                var creditShort = new CreditType
                {
                    Name = "Easy Money",
                    //Type = "" WTF IS TYPE?????
                    TimeMonths = 12,
                    PercentPerYear = 20.0m,
                    Currency = "USD",
                    FinePercent = 40.0m,
                    MinAmount = 200,
                    MaxAmount = 2000,
                    IsAvailable = true
                };

                var creditMedium = new CreditType
                {
                    Name = "Not So Easy Money",
                    //Type = "" WTF IS TYPE?????
                    TimeMonths = 12 * 2,
                    PercentPerYear = 25.0m,
                    Currency = "USD",
                    FinePercent = 50.0m,
                    MinAmount = 200,
                    MaxAmount = 5000,
                    IsAvailable = true
                };

                var creditLong = new CreditType
                {
                    Name = "Still Money",
                    //Type = "" WTF IS TYPE?????
                    TimeMonths = 12 * 4,
                    PercentPerYear = 30.0m,
                    Currency = "USD",
                    FinePercent = 60.0m,
                    MinAmount = 200,
                    MaxAmount = 5000,
                    IsAvailable = true
                };

                var creditTypeRepo = new CreditTypeRepository(context);
                creditTypeRepo.Add(creditShort, creditLong, creditMedium);
                context.SaveChanges();
                var creditEasyId = creditShort.CreditTypeId;
                var creditMediumId = creditMedium.CreditTypeId;
                var creditLongId = creditLong.CreditTypeId;

                var admin = new User { Login = "******", Password = "******", Role = UserRole.Admin, IsActive = true };

                var ss = new User // security service employee
                { Login = "******", Password = "******", Role = UserRole.SecurityServiceEmployee, IsActive = true };

                var operator1 = new User //
                { Login = "******", Password = "******", Role = UserRole.Operator, IsActive = true };

                var operator2 = new User //
                { Login = "******", Password = "******", Role = UserRole.Operator, IsActive = true };

                var client1 = new User { Login = "******", Password = "******", Role = UserRole.Client };

                var client2 = new User { Login = "******", Password = "******", Role = UserRole.Client };

                var client3 = new User { Login = "******", Password = "******", Role = UserRole.Client };

                var userRepo = new UserRepository(context);
                userRepo.Add(admin, ss, operator1, operator2, client1, client2, client3);
                context.SaveChanges();
                var client1Id = client1.UserId;
                var client2Id = client2.UserId;
                var client3Id = client3.UserId;

                var client1Info = new Client
                {
                    UserId = client1.UserId,
                    Name = "Clientone",
                    LastName = "Clientov",
                    Patronymic = "Clientovich",
                    Birthday = new DateTime(1990, 1, 1),
                    Mobile = "+375441234567",
                    Email = "*****@*****.**",
                    PassportNo = "AB1234567",
                    PassportIdentificationNo = "4123456B124PB7",
                    PassportAuthority = "Ministry of internal affairs",
                    PassportExpirationDate = DateTime.Now.AddYears(6),
                    PlaceOfResidence = "Pushkina st.1 app.18",
                    RegistrationAddress = "Pushkina st.1 app.18"
                };

                var client2Info = new Client
                {
                    UserId = client2.UserId,
                    Name = "Clienttwo",
                    LastName = "Clientov",
                    Patronymic = "Clientovich",
                    Birthday = new DateTime(1982, 2, 2),
                    Mobile = "+375251234567",
                    Email = "*****@*****.**",
                    PassportNo = "AB1234123",
                    PassportIdentificationNo = "4125552B124PB7",
                    PassportAuthority = "Ministry of internal affairs",
                    PassportExpirationDate = DateTime.Now.AddYears(1),
                    PlaceOfResidence = "Pushkina st.2 app.7",
                    RegistrationAddress = "Pushkina st.2 app.7"
                };

                var client3Info = new Client
                {
                    UserId = client3.UserId,
                    Name = "Clientthree",
                    LastName = "Clientov",
                    Patronymic = "Clientovich",
                    Birthday = new DateTime(1973, 3, 3),
                    Mobile = "+375291234567",
                    Email = "*****@*****.**",
                    PassportNo = "AB1223331",
                    PassportIdentificationNo = "4129332B124PB3",
                    PassportAuthority = "Ministry of internal affairs",
                    PassportExpirationDate = DateTime.Now.AddYears(6),
                    PlaceOfResidence = "Pushkina st.3 app.24",
                    RegistrationAddress = "Pushkina st.3 app.24"
                };

                var clientRepo = new ClientRepository(context);
                clientRepo.Add(client1Info, client2Info, client3Info);
                context.SaveChanges();

                var request1client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = createdStatusId,
                    Status = RequestStatus.Created,
                    CreditTypeId = creditEasyId,
                    AmountOfCredit = 1000,
                    Salary = 500
                };

                var request2client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = createdStatusId,
                    Status = RequestStatus.Created,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditMediumId,
                    AmountOfCredit = 1200,
                    Salary = 500
                };

                var request3client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = confirmedByOperatorStatusId,
                    Status = RequestStatus.ConfirmedByOperator,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditLongId,
                    AmountOfCredit = 1000,
                    Salary = 500
                };

                var request4client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    Status = RequestStatus.ConfirmedByOperator, // createdStatusId,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditMediumId,
                    AmountOfCredit = 1100,
                    Salary = 500
                };
                var request5client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = createdStatusId,
                    Status = RequestStatus.CreditProvided,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditLongId,
                    AmountOfCredit = 1300,
                    Salary = 500
                };

                var request6client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = confirmedByOperatorStatusId,
                    Status = RequestStatus.CreditProvided,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditLongId,
                    AmountOfCredit = 900,
                    Salary = 500
                };
                var request7client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    Status = RequestStatus.ConfirmedBySecurityOfficer, // createdStatusId,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditLongId,
                    AmountOfCredit = 800,
                    Salary = 500
                };
                var request8client1 = new Request
                {
                    ClientId = client1Info.ClientId,
                    //RequestStatusId = confirmedByOperatorStatusId,
                    Status = RequestStatus.CreditProvided,
                    OperatorId = operator1.UserId,
                    CreditTypeId = creditMediumId,
                    AmountOfCredit = 900,
                    Salary = 500
                };

                var requestRepo = new RequestRepository(context);
                requestRepo.Add(
                    request1client1,
                    request2client1,
                    request3client1,
                    request4client1,
                    request5client1,
                    request6client1,
                    request7client1,
                    request8client1);
                context.SaveChanges();

                //var acc1 = new Account  //Bank Account
                //{
                //    ClientId = null,
                //    Balance = 40*1000*1000
                //};

                var bankAccount = new BankAccount //Bank Account
                { Balance = 40 * 1000 * 1000, Currency = "USD" };
                context.BankAccount = bankAccount;
                context.SaveChanges();

                var acc2 = new Account { ClientId = client1Info.ClientId, Balance = request2client1.AmountOfCredit };

                var accountRepo = new AccountRepository(context);
                accountRepo.Add( /*acc1,*/ acc2);
                context.SaveChanges();

                DateTime dt1 = DateTime.Now.AddDays(-(30 * 4 + 5));
                var credit1Client1 = new Credit
                {
                    AccountId = acc2.AccountId,
                    CreditTypeId = creditLong.CreditTypeId,
                    //ContractNo = 123123, //random
                    RequestId = request5client1.RequestId,
                    //AllreadyPaid = 0,
                    AmountOfPaymentPerMonth = (request5client1.AmountOfCredit / creditLong.TimeMonths) * (1 + creditLong.PercentPerYear / 100 * creditLong.TimeMonths / 12),
                    StartDate = dt1,
                    IsRepaid = false,
                    HasDelays = false,
                    CountFineFromThisDate = dt1.AddDays(30),//DateTime.UtcNow.AddDays(30), //!!! hard-coded!!!
                    AmountToCountFineFromForFirstDelayedMonth = (request5client1.AmountOfCredit / creditLong.TimeMonths) * (1 + creditLong.PercentPerYear / 100 * creditLong.TimeMonths / 12),
                    PaidForFine = 0
                };
                DateTime dt2 = DateTime.UtcNow.AddDays(-(30 * 50 + 7));
                var credit2Client1 = new Credit
                {
                    AccountId = acc2.AccountId,
                    CreditTypeId = creditLong.CreditTypeId,
                    //ContractNo = 123123, //random
                    RequestId = request6client1.RequestId,
                    //AllreadyPaid = 0,
                    AmountOfPaymentPerMonth = (request6client1.AmountOfCredit / creditLong.TimeMonths) * (1 + creditLong.PercentPerYear / 100 * creditLong.TimeMonths/12),
                    StartDate = dt2,
                    IsRepaid = true,
                    HasDelays = true,
                    CountFineFromThisDate = dt2.AddDays(30), //!!! hard-coded!!!
                    AmountToCountFineFromForFirstDelayedMonth = (request6client1.AmountOfCredit / creditLong.TimeMonths) * (1 + creditLong.PercentPerYear / 100 * creditLong.TimeMonths / 12),
                    PaidForFine = 0
                };

                var credit3Client1 = new Credit
                {
                    AccountId = acc2.AccountId,
                    CreditTypeId = creditMedium.CreditTypeId,
                    //ContractNo = 123123, //random
                    RequestId = request8client1.RequestId,
                    //AllreadyPaid = 0,
                    AmountOfPaymentPerMonth = (request8client1.AmountOfCredit / creditMedium.TimeMonths) * (1 + creditMedium.PercentPerYear / 100 * creditMedium.TimeMonths / 12),
                    StartDate = DateTime.Now,
                    IsRepaid = false,
                    HasDelays = true,
                    CountFineFromThisDate = DateTime.Now.AddDays(30), //!!! hard-coded!!!
                    AmountToCountFineFromForFirstDelayedMonth = (request8client1.AmountOfCredit / creditMedium.TimeMonths) * (1 + creditMedium.PercentPerYear / 100 * creditMedium.TimeMonths / 12),
                    PaidForFine = 0
                };
                request5client1.Credit = credit1Client1; // IMPORTANT do this for 1-1 relationship (exception otherwise)
                request6client1.Credit = credit2Client1; // IMPORTANT do this for 1-1 relationship (exception otherwise)
                request8client1.Credit = credit3Client1; // IMPORTANT do this for 1-1 relationship (exception otherwise)

                var creditRepo = new CreditRepository(context);
                creditRepo.Add(credit1Client1, credit2Client1, credit3Client1);
                context.SaveChanges();

               /*     var payment = new Payment
                {
                    OperatorId = operator1.UserId,
                    CreditId = credit1Client1.CreditId,
                    //ContractNo = credit1Client1.ContractNo,
                    Amount = 75,
                    Date = credit1Client1.StartDate.AddDays(15)
                };
                //var credit

                var payRepo = new PaymentRepository(context);
                payRepo.Add(payment);                                */
                var test = context.BankAccount;
                    //context.RequestStatuses.Where(x => x.Status.Contains("Created")).FirstOrDefault();
                //context.RequestStatuses.Add(new RequestStatus { Status = "Created" });
                context.SaveChanges();
            }
        }