Exemple #1
0
        static void Main(string[] args)
        {
            IATE           ate     = new ATE();
            CallHandler    handler = new CallHandler();
            IBillingSystem bs      = new BillingSystem(ate);

            IContract c1 = ate.SignContract(new Client("Vasya", "Topolev"), TypeOfTariff.Mini);
            IContract c2 = ate.SignContract(new Client("Petya", "Sosnov"), TypeOfTariff.Maxi);
            IContract c3 = ate.SignContract(new Client("Gena", "Beresov"), TypeOfTariff.Mini);

            c1.Client.PutMoney(5000);
            c1.Client.WithdrawMoney(30);
            Terminal t1 = ate.NewTerminal(c1);
            Terminal t2 = ate.NewTerminal(c2);
            Terminal t3 = ate.NewTerminal(c3);

            t1.ConnectToATS();
            t2.ConnectToATS();
            t3.ConnectToATS();
            t1.Call(t2.Number);
            Thread.Sleep(1111);
            t2.EndCall();
            t3.Call(t1.Number);
            Thread.Sleep(2222);
            t3.EndCall();
            t2.Call(t1.Number);
            Thread.Sleep(3333);
            t1.EndCall();
            Console.ReadKey();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            IATE           aTEx   = new ATE();
            IBillingSystem bs     = new BillingSys(aTEx);
            IReportCreator report = new ReportCreator();

            IContract con1 = aTEx.RegisterContract(new User("Anton", "Goncharuk"), TypeOffTariffPlan.Business);
            IContract con2 = aTEx.RegisterContract(new User("Olga", "Gordeeva"), TypeOffTariffPlan.Smart);
            IContract con3 = aTEx.RegisterContract(new User("Alex", "Kulesh"), TypeOffTariffPlan.SmartUnlim);
            IContract con4 = aTEx.RegisterContract(new User("Misha", "Antonov"), TypeOffTariffPlan.SmartMini);

            Console.WriteLine(new string('=', 75));
            Console.WriteLine("Abonents: =>");
            Console.WriteLine(con1.User.FirstName + "  " + con1.User.LastName + "  " + con1.Number + " " + con1.Tariff.TypeOffTariffPlan + "  " + con1.User.Money);
            Console.WriteLine(con2.User.FirstName + "  " + con2.User.LastName + "  " + con2.Number + " " + con2.Tariff.TypeOffTariffPlan + "  " + con2.User.Money);
            Console.WriteLine(con3.User.FirstName + "  " + con3.User.LastName + "  " + con3.Number + " " + con3.Tariff.TypeOffTariffPlan + "  " + con3.User.Money);
            Console.WriteLine(con4.User.FirstName + "  " + con4.User.LastName + "  " + con4.Number + " " + con4.Tariff.TypeOffTariffPlan + "  " + con4.User.Money);
            Console.WriteLine(new string('=', 75));

            con4.ChangeTariff(TypeOffTariffPlan.Business);
            Console.WriteLine(new string('=', 75));

            var ter1 = aTEx.NewTerminal(con1);
            var ter2 = aTEx.NewTerminal(con2);
            var ter3 = aTEx.NewTerminal(con3);
            var ter4 = aTEx.NewTerminal(con4);

            ter1.ConnectToPort();
            ter2.ConnectToPort();
            ter3.ConnectToPort();
            ter4.ConnectToPort();

            ter1.Call(ter2.Number);
            ter3.Call(ter1.Number);
            //ter4.DisconnectFromPort();
            ter1.Call(ter4.Number);

            Console.WriteLine(new string('=', 75));
            Console.WriteLine("Report by number: {0}", ter1.Number);
            report.Create(bs.GetReport(ter1.Number), TypeOfSort.SortByDate);
            Console.WriteLine(new string('=', 75));
            //report.Create(bs.GetReport(ter1.Number), TypeOfSort.SortByCallType);
            //Console.WriteLine(new string('=', 75));
            //report.Create(bs.GetReport(ter1.Number), TypeOfSort.SortByNumber);
            //Console.WriteLine(new string('=', 75));
            //report.Create(bs.GetReport(ter1.Number), TypeOfSort.SortByCost);
            //Console.WriteLine(new string('=', 75));

            //Console.WriteLine(con1.User.FirstName + "  " + con1.User.LastName + "  " + con1.Number + " " + con1.Tariff.TypeOffTariffPlan + "  " + con1.User.Money);
            //Console.WriteLine(con2.User.FirstName + "  " + con2.User.LastName + "  " + con2.Number + " " + con2.Tariff.TypeOffTariffPlan + "  " + con2.User.Money);
            //Console.WriteLine(con3.User.FirstName + "  " + con3.User.LastName + "  " + con3.Number + " " + con3.Tariff.TypeOffTariffPlan + "  " + con3.User.Money);
            //Console.WriteLine(con4.User.FirstName + "  " + con4.User.LastName + "  " + con4.Number + " " + con4.Tariff.TypeOffTariffPlan + "  " + con4.User.Money);
            //Console.WriteLine(new string('=', 75));
        }
Exemple #3
0
        static void Main(string[] args)
        {
            IATE          ate    = new ATE();
            IReportRender render = new ReportRender();
            BillingSystem bs     = new BillingSystem(ate);

            IContract c1 = ate.RegisterContract(new Subscriber("John", "Smith"), TariffType.Pro);
            IContract c2 = ate.RegisterContract(new Subscriber("James", "Bond"), TariffType.Pro);
            IContract c3 = ate.RegisterContract(new Subscriber("Jansen", "Born"), TariffType.Pro);

            c1.Subscriber.AddMoney(10);

            var t1 = ate.GetNewTerminal(c1);
            var t2 = ate.GetNewTerminal(c2);
            var t3 = ate.GetNewTerminal(c3);

            t1.ConnectToPort();
            t2.ConnectToPort();
            t3.ConnectToPort();

            t1.Call(t2.TelephoneNumber);
            Thread.Sleep(2000);
            t2.EndCall();
            t3.Call(t1.TelephoneNumber);
            Thread.Sleep(1000);
            t3.EndCall();
            t2.Call(t1.TelephoneNumber);
            Thread.Sleep(3000);
            t1.EndCall();

            t1.Disconnect();
            t2.Disconnect();
            t3.Disconnect();

            t3.Call(t1.TelephoneNumber);

            Console.WriteLine();
            Console.WriteLine("Sorted records:");
            foreach (var item in render.SortCalls(bs.GetReport(t1.TelephoneNumber), TypeSort.SortByCallType))
            {
                Console.WriteLine(
                    "Calls:\n Type {0} |\n Date: {1} |\n Duration: {2:mm:ss} | Cost: {3} | Telephone number: {4}",
                    item.CallType,
                    item.Date,
                    item.Time,
                    item.Cost,
                    item.Number);
            }

            Console.ReadKey();
        }
        public async Task <IActionResult> etatactivite([FromBody] ATE act)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    List <EtatActivite> NewTA      = new List <EtatActivite>();
                    List <EtatActivite> TAToDelete = new List <EtatActivite>();
                    List <EtatActivite> currentTA  = new List <EtatActivite>();
                    List <EtatActivite> TAToAdd    = new List <EtatActivite>();

                    foreach (int id in act.ActivitesIds)
                    {
                        NewTA.Add(new EtatActivite
                        {
                            Etat     = _unitOfWork.Etat.GetSingleOrDefault(e => e.Id == act.EtatId),
                            Activite = _unitOfWork.Activite.GetSingleOrDefault(e => e.Id == id)
                        });
                    }

                    currentTA = _unitOfWork.EtatActivite.Find(e => e.EtatId == act.EtatId).ToList();

                    TAToAdd    = NewTA.Except(currentTA).ToList();
                    TAToDelete = currentTA.Except(NewTA).ToList();

                    foreach (var item in TAToDelete)
                    {
                        _unitOfWork.EtatActivite.Remove(item);
                    }
                    await _unitOfWork.SaveChangesAsync();

                    foreach (var item in TAToAdd)
                    {
                        _unitOfWork.EtatActivite.Add(item);
                    }
                    await _unitOfWork.SaveChangesAsync();

                    return(Ok("OK"));
                }
                catch (Exception ex)
                {
                    return(BadRequest(ex.Data));
                }
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
Exemple #5
0
        static void Main(string[] args)
        {
            IATE ate1 = new ATE();

            ITariff tariffFirst  = new Tariff("First", 0.1);
            ITariff tariffSecond = new Tariff("Second", 0.2);

            Terminal term1 = new Terminal(1);
            Terminal term2 = new Terminal(2);
            Terminal term3 = new Terminal(3);
            Terminal term4 = new Terminal(4);


            term1.ConnectToPort(ate1.MakeContract(tariffFirst, term1.Id));
            term1.ConnectToPort(ate1.MakeContract(tariffFirst, term1.Id));
            term2.ConnectToPort(ate1.MakeContract(tariffSecond, term2.Id));
            term3.ConnectToPort(ate1.MakeContract(tariffSecond, term3.Id));
            term4.ConnectToPort(ate1.MakeContract(tariffFirst, term4.Id));

            Console.WriteLine("------");
            Console.WriteLine(term1.GetNumber());
            Console.WriteLine(term2.GetNumber());
            Console.WriteLine(term3.GetNumber());
            Console.WriteLine(term4.GetNumber());
            Console.WriteLine("------");

            term1.Call(term1.GetNumber());
            term1.Call(term2.GetNumber());
            term3.Call(term4.GetNumber());
            Thread.Sleep(4000);
            term1.EndCall();
            term4.EndCall();

            Console.WriteLine("------");
            term1.GetHistory();
            Console.WriteLine("------");
            term2.GetHistory();
            Console.WriteLine("------");
            term3.GetHistory();

            Console.ReadKey();
        }
        public override IEnumerable <AtendimentoPendenteViewModel> BindReport(params object[] param)
        {
            int?areaAtendimentoId = null;

            if (param[0].ToString() != "")
            {
                areaAtendimentoId = int.Parse(param[0].ToString());
            }

            using (seguranca_db = new SecurityContext())
            {
                var q = from zapata in
                        ((from cha in db.Chamados.AsEnumerable()
                          join ate in db.Atendimentos on cha.chamadoId equals ate.chamadoId into ATE
                          from ate in ATE.DefaultIfEmpty()
                          join a in db.Associados on cha.associadoId equals a.associadoId
                          join m in db.Medicos on a.associadoId equals m.associadoId
                          join are in db.AreaAtendimentos on cha.areaAtendimentoId equals are.areaAtendimentoId
                          where (areaAtendimentoId == null || cha.areaAtendimentoId == areaAtendimentoId) &&
                          cha.situacao == "A" &&
                          ate == null
                          select new AtendimentoPendenteViewModel()
                {
                    associadoId = a.associadoId,
                    nome = a.nome,
                    cpf = a.cpf,
                    crm = m.CRM,
                    email = a.email1,
                    isSindicalizado = a.isSindicalizado,
                    chamadoId = cha.chamadoId,
                    dt_chamado = cha.dt_chamado,
                    dt_chamado2 = cha.dt_chamado.ToString("dd/Mm/yyyy HH:mm"),
                    atraso = SqlMethods.DateDiffDay(cha.dt_chamado, DateTime.Today),
                    areaAtendimentoId = cha.areaAtendimentoId,
                    descricao_areaAtendimento = are.descricao,
                    assunto = cha.assunto,
                    usuarioId = cha.usuarioId,
                }))
                        select new AtendimentoPendenteViewModel()
                {
                    associadoId               = zapata.associadoId,
                    nome                      = zapata.nome,
                    cpf                       = zapata.cpf,
                    crm                       = zapata.crm,
                    email                     = zapata.email,
                    isSindicalizado           = zapata.isSindicalizado,
                    chamadoId                 = zapata.chamadoId,
                    dt_chamado                = zapata.dt_chamado,
                    dt_chamado2               = zapata.dt_chamado2,
                    atraso                    = zapata.atraso,
                    areaAtendimentoId         = zapata.areaAtendimentoId,
                    descricao_areaAtendimento = zapata.descricao_areaAtendimento,
                    assunto                   = zapata.assunto,
                    usuarioId                 = zapata.usuarioId,
                    usuario_nome              = (zapata.usuarioId.HasValue ? (from usu in seguranca_db.Usuarios
                                                                              where usu.usuarioId == zapata.usuarioId
                                                                              select usu.nome).FirstOrDefault() : null)
                };

                var z = from zapata in
                        ((from cha in db.Chamados.AsEnumerable()
                          join ate in db.Atendimentos on cha.chamadoId equals ate.chamadoId
                          join a in db.Associados on cha.associadoId equals a.associadoId
                          join m in db.Medicos on a.associadoId equals m.associadoId
                          join are in db.AreaAtendimentos on cha.areaAtendimentoId equals are.areaAtendimentoId
                          where (areaAtendimentoId == null || cha.areaAtendimentoId == areaAtendimentoId) &&
                          ate.dt_atendimento == (from ate1 in db.Atendimentos
                                                 where ate1.chamadoId == cha.chamadoId
                                                 select ate1.dt_atendimento).Max() &&
                          cha.situacao == "A"
                          select new AtendimentoPendenteViewModel()
                {
                    associadoId = a.associadoId,
                    nome = a.nome,
                    cpf = a.cpf,
                    crm = m.CRM,
                    email = a.email1,
                    isSindicalizado = a.isSindicalizado,
                    chamadoId = cha.chamadoId,
                    dt_chamado = cha.dt_chamado,
                    dt_chamado2 = cha.dt_chamado.ToString("dd/Mm/yyyy HH:mm"),
                    dt_atendimento = ate.dt_atendimento,
                    atraso = SqlMethods.DateDiffDay(cha.dt_chamado, DateTime.Today),
                    areaAtendimentoId = cha.areaAtendimentoId,
                    descricao_areaAtendimento = are.descricao,
                    assunto = cha.assunto,
                    usuarioId = cha.usuarioId
                }))
                        select new AtendimentoPendenteViewModel()
                {
                    associadoId               = zapata.associadoId,
                    nome                      = zapata.nome,
                    cpf                       = zapata.cpf,
                    crm                       = zapata.crm,
                    email                     = zapata.email,
                    isSindicalizado           = zapata.isSindicalizado,
                    chamadoId                 = zapata.chamadoId,
                    dt_chamado                = zapata.dt_chamado,
                    dt_chamado2               = zapata.dt_chamado2,
                    dt_atendimento            = zapata.dt_atendimento,
                    atraso                    = zapata.atraso,
                    areaAtendimentoId         = zapata.areaAtendimentoId,
                    descricao_areaAtendimento = zapata.descricao_areaAtendimento,
                    assunto                   = zapata.assunto,
                    usuarioId                 = zapata.usuarioId,
                    usuario_nome              = (zapata.usuarioId.HasValue ? (from usu in seguranca_db.Usuarios
                                                                              where usu.usuarioId == zapata.usuarioId
                                                                              select usu.nome).FirstOrDefault() : null)
                };

                return(q.Union(z).OrderBy(m => m.chamadoId).ToList());
            }
        }