예제 #1
0
        public static IEnumerable <StatisticDto> GetOperations(string startDateString, string endDateString)
        {
            using (var context = new PawnShopContext())
            {
                MapperInitiliazer.InitializeStatistics();
                context.Users.Attach(LoginUser.User);

                var startDate = DateTime.Parse(startDateString);
                var endDate   = DateTime.Parse(endDateString);

                if (startDate > endDate)
                {
                    throw new InvalidOperationException("Invalid data provided.");
                }

                var operations =
                    context.CashOperations.Where(c => c.CashBox.Office.Name == LoginUser.User.Office.Name &&
                                                 (SqlFunctions.DateDiff("day", c.DateTime, startDate).Value <= 0 &&
                                                  SqlFunctions.DateDiff("day", c.DateTime, endDate).Value >= 0))
                    .OrderBy(c => c.DateTime)
                    .ProjectTo <StatisticDto>()
                    .ToList();

                return(operations);
            }
        }
예제 #2
0
        public static IEnumerable <ContractDto> GetContracts(Status status = Status.All)
        {
            using (var context = new PawnShopContext())
            {
                MapperInitiliazer.InitiliazeContracts();

                if (status == Status.All)
                {
                    var contracts =
                        context.Contracts
                        //.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name)
                        .ProjectTo <ContractDto>()
                        .ToList();

                    return(contracts);
                }

                var filtredContracts =
                    context.Contracts.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name && c.Status == status)
                    .ProjectTo <ContractDto>()
                    .ToList();

                return(filtredContracts);
            }
        }
예제 #3
0
        public static IEnumerable <ContractDto> GetContractsByTown(string town)
        {
            using (var context = new PawnShopContext())
            {
                MapperInitiliazer.InitiliazeContracts();

                var contracts = context.Contracts.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name && c.Employee.Office.Address.Town.Name == town)
                                .ProjectTo <ContractDto>()
                                .ToList();

                return(contracts);
            }
        }
예제 #4
0
        public static IEnumerable <ContractDto> GetContractsByClientsName(string name)
        {
            using (var context = new PawnShopContext())
            {
                MapperInitiliazer.InitiliazeContracts();

                var contracts = context.Contracts.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name && string.Concat(c.Client.FirstName, " ", c.Client.MiddleName, " ", c.Client.LastName) == name)
                                .ProjectTo <ContractDto>()
                                .ToList();

                return(contracts);
            }
        }
예제 #5
0
        public static IEnumerable <ContractDto> GetContractsByClientsPersonalId(int personalId)
        {
            using (var context = new PawnShopContext())
            {
                MapperInitiliazer.InitiliazeContracts();

                var contracts = context.Contracts.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name && c.Client.PersonalID == personalId)
                                .ProjectTo <ContractDto>()
                                .ToList();

                return(contracts);
            }
        }
예제 #6
0
        public static IEnumerable <ContractDto> GetContractsByAddress(string address)
        {
            using (var context = new PawnShopContext())
            {
                context.Users.Attach(LoginUser.User);
                MapperInitiliazer.InitiliazeContracts();

                var contracts = context.Contracts.Where(c => c.Employee.Office.Name == LoginUser.User.Office.Name && c.Client.Address.Text == address)
                                .ProjectTo <ContractDto>()
                                .ToList();

                return(contracts);
            }
        }
예제 #7
0
        public static IEnumerable <ClientDto> GetClients()
        {
            MapperInitiliazer.InitializeClients();

            using (var context = new PawnShopContext())
            {
                var clients =
                    context.Clients
                    //.Where(
                    //        c => c.Contracts.Any(con => con.Employee.Office.Name == LoginUser.User.Office.Name))
                    .ProjectTo <ClientDto>()
                    .ToList();

                return(clients);
            }
        }