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; }
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 }); }
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(); }
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)); } }
public DateTime?GetActiveConnectTariffDate(int idClient) { ConnectTariff connect = db.ConnectTariff.ToList().Where(i => i.idClient == idClient && i.dateConnectTariffEnd == null).FirstOrDefault(); return(connect.dateConnectTariffBegin); }