Esempio n. 1
0
        public ConnectTariffModel(TariffPlanModel tariffPlan, ConnectTariff connectTariff)
        {
            name = tariffPlan.name;

            dateConnectTariffBegin = connectTariff.dateConnectTariffBegin;
            dateConnectTariffEnd   = connectTariff.dateConnectTariffEnd;
            idClient = connectTariff.idClient;
            if (dateConnectTariffEnd == null)
            {
                DateTime dateNow = DateTime.Now;
                connectedMonth = 0;
                while (Convert.ToDateTime(dateConnectTariffBegin).AddMonths(1) < dateNow)
                {
                    connectedMonth++;
                }
            }
            else
            {
                connectedMonth = 0;
                while (Convert.ToDateTime(dateConnectTariffBegin).AddMonths(1) < dateConnectTariffEnd)
                {
                    connectedMonth++;
                }
            }
            cost = tariffPlan.subscriptionFee * connectedMonth + tariffPlan.costChangeTar;
        }
Esempio n. 2
0
        public TariffPlanModel GetActiveTariff(int idClient)
        {
            ConnectTariff connect    = db.ConnectTariff.ToList().Where(i => i.idClient == idClient && i.dateConnectTariffEnd == null).FirstOrDefault();
            TariffPlan    tariffPlan = db.TariffPlan.ToList().Where(i => i.id == connect.idTariffPlan).FirstOrDefault();

            return(new TariffPlanModel()
            {
                freeMinuteForMonth = tariffPlan.freeMinuteForMonth,
                name = tariffPlan.name,
                id = tariffPlan.id,
                CanConnectThisTar = tariffPlan.CanConnectThisTar,
                costChangeTar = tariffPlan.costChangeTar,
                costOneMinCallCity = tariffPlan.costOneMinCallCity,
                CostOneMinCallInternation = tariffPlan.CostOneMinCallInternation,
                costOneMinCallOutCity = tariffPlan.costOneMinCallOutCity,
                costSms = tariffPlan.costSms,
                intGB = tariffPlan.intGB,
                isPhysTar = tariffPlan.isPhysTar,
                SMS = tariffPlan.SMS,
                subscriptionFee = tariffPlan.subcriptionFee
            });
        }
Esempio n. 3
0
        public void UpdateConnectTariff(int idClient, int idTariff)
        {
            ConnectTariff connect = db.ConnectTariff.ToList().Where(i => i.idClient == idClient && i.dateConnectTariffEnd == null).FirstOrDefault();

            connect.dateConnectTariffEnd = DateTime.Now;
            ConnectTariff newConnect = new ConnectTariff()
            {
                idClient = idClient,
                dateConnectTariffBegin = DateTime.Now,
                dateConnectTariffEnd   = null,
                idTariffPlan           = idTariff
            };

            db.ConnectTariff.Add(newConnect);
            TariffPlan c      = db.TariffPlan.ToList().Where(i => i.id == idTariff).FirstOrDefault();
            Client     client = db.Client.Find(idClient);

            client.freeMin = c.freeMinuteForMonth;
            client.freeGB  = c.intGB;
            client.freeSms = c.SMS;
            Save();
        }
Esempio n. 4
0
        public async Task <IActionResult> Register([FromBody] RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                Client        client;
                ConnectTariff conTar;
                if (!String.IsNullOrEmpty(model.NameClient.ToString()) && String.IsNullOrEmpty(model.nameOrganisation.ToString()))
                {
                    /// <summary>
                    /// регистрация физ лица
                    /// </summary>
                    client = new Client
                    {
                        PhoneNumber          = model.LoginPhoneNumber,
                        UserName             = model.LoginPhoneNumber,
                        Balance              = 0,
                        DateConnect          = DateTime.Now,
                        DateOfBirth          = model.DateOfBirthClient,
                        Email                = "ads",
                        EmailConfirmed       = true,
                        FreeGb               = 0,
                        FreeMin              = 0,
                        FreeSms              = 0,
                        IsPhysCl             = true,
                        Name                 = model.NameClient,
                        NormalizedEmail      = "ads",
                        NormalizedUserName   = model.LoginPhoneNumber,
                        NumberPassport       = model.PassportClient,
                        Password             = model.Password,
                        PhoneNumberConfirmed = true,
                        SurName              = model.SurNameClient
                    };
                }
                else
                {
                    /// <summary>
                    ///регистрация юр лица
                    /// </summary>
                    client = new Client
                    {
                        PhoneNumber          = model.LoginPhoneNumber,
                        UserName             = model.LoginPhoneNumber,
                        Balance              = 0,
                        DateConnect          = DateTime.Now,
                        Email                = "ads",
                        EmailConfirmed       = true,
                        FreeGb               = 0,
                        FreeMin              = 0,
                        FreeSms              = 0,
                        IsPhysCl             = false,
                        NormalizedEmail      = "ads",
                        NormalizedUserName   = model.LoginPhoneNumber,
                        Password             = model.Password,
                        PhoneNumberConfirmed = true,
                        Itn              = model.itn,
                        LegalAdress      = model.legalAddress,
                        NameOrganization = model.nameOrganisation,
                        StartDate        = model.dateStartWorkOrganisation
                    };
                }
                // Добавление нового пользователя
                var result = await _clientManager.CreateAsync(client, model.Password);

                if (result.Succeeded)
                {
                    // установка куки
                    await _clientManager.AddToRoleAsync(client, "user");

                    await _signInManager.SignInAsync(client, false);

                    var msg = new
                    {
                        message = "Добавлен новый пользователь: " +
                                  client.UserName
                    };
                    if (client.IsPhysCl)
                    {
                        conTar = new ConnectTariff
                        {
                            DateConnectTariffBegin = DateTime.Now,
                            DateConnectTariffEnd   = null,
                            IdClient     = client.Id,
                            IdTariffPlan = 2
                        }
                    }
                    ;
                    else
                    {
                        conTar = new ConnectTariff
                        {
                            DateConnectTariffBegin = DateTime.Now,
                            DateConnectTariffEnd   = null,
                            IdClient     = client.Id,
                            IdTariffPlan = 3
                        }
                    };
                    _context.ConnectTariffs.Add(conTar);
                    await _context.SaveChangesAsync();

                    return(Ok(msg));
                }
                else
                {
                    foreach (var error in result.Errors)
                    {
                        ModelState.AddModelError(string.Empty,
                                                 error.Description);
                    }
                    var errorMsg = new
                    {
                        message = "Пользователь не добавлен.",
                        error   = ModelState.Values.SelectMany(e =>
                                                               e.Errors.Select(er => er.ErrorMessage))
                    };
                    return(Ok(errorMsg));
                }
            }
            else
            {
                var errorMsg = new
                {
                    message = "Неверные входные данные.",
                    error   = ModelState.Values.SelectMany(e =>
                                                           e.Errors.Select(er => er.ErrorMessage))
                };

                return(Ok(errorMsg));
            }
        }
Esempio n. 5
0
        public DateTime?GetActiveConnectTariffDate(int idClient)
        {
            ConnectTariff connect = db.ConnectTariff.ToList().Where(i => i.idClient == idClient && i.dateConnectTariffEnd == null).FirstOrDefault();

            return(connect.dateConnectTariffBegin);
        }