public async Task <IHttpActionResult> AddSuggestionToPlan(LocationSuggestionViewModels locationSuggestion) { try { int userId = (await CurrentUser()).Id; ICollection <Location> locations = new List <Location>(); foreach (var item in locationSuggestion.LocationIds ?? new List <int>()) { var location = _locationService.Find(item); if (location != null) { locations.Add(location); } else { return(BadRequest("Location not existed")); } } var locationSuggest = new LocationSuggestion { Comment = locationSuggestion.Comment, Locations = locations, UserId = userId, PlanId = locationSuggestion.PlanId, Status = RequestStatus.NotYet, PlanDay = locationSuggestion.PlanDay }; bool result = _planService.Create(locationSuggest); var plan = _planService.Find(locationSuggestion.PlanId, _ => _.Creator); var creatorGroup = plan.Creator; var content = new { to = $"{creatorGroup.MobileToken}", title = $"{(await CurrentUser()).FullName} muốn thêm { string.Join(", ", locations.Select(_ => _.Name)) } địa điểm vào chuyến đi {plan.Name}", body = $"{locationSuggestion.Comment}", data = new { type = "LocationSuggestion" } }; var temp = JsonConvert.SerializeObject(content); HttpResponseMessage responseMessage = await client.PostAsJsonAsync("/--/api/v2/push/send", content); if (result) { return(Ok()); } return(BadRequest()); } catch (Exception ex) { _loggingService.Write(GetType().Name, nameof(AddNoteToPlan), ex); return(InternalServerError(ex)); } }
public async Task <IActionResult> Add(AddPlanViewModel planModel) { var user = await _userManager.GetUserAsync(User); ViewBag.userName = user.Name; if (ModelState.IsValid) { try { var plan = new Plan { Created = DateTime.Now, User = user, Name = planModel.PlanName, Description = planModel.Description, }; _planService.Create(plan); return(RedirectToAction("List")); } catch { return(View(planModel)); } } else { return(View(planModel)); } }
public IActionResult Add(Plan plan) { if (ModelState.IsValid) { plan.UserId = userManager.GetUserId(HttpContext.User); planService.Create(plan); } return(RedirectToAction("List")); }
public async Task <IActionResult> CreateEmployee([FromBody] PlanRequest request) { if (request == null) { return(NotFound()); } var plan = _mapper.Map <Plan>(request); var result = await _planService.Create(plan); if (result == null) { return(NotFound()); } return(Ok(plan)); }
public void Save(PlanForDetailDto planForDetailDto) { Plan plan = planForDetailDto.Plan; //sauvegarde de plan et de user selected if (planForDetailDto.Plan.Id == 0) { _planService.Create(plan); } else { _planService.Update(plan); } _planPosteUserService.Save(plan.Id, planForDetailDto.Users.ListSelected); _planAccountService.Save(plan.Id, planForDetailDto.Accounts.ListSelected); }
public IActionResult Create([FromBody] CreatePlan model) { var plan = _mapper.Map <Plan>(model); try { // create plan _planService.Create(plan); return(Ok(new { plan.Id, plan.Title, })); } catch (AppException ex) { // return error message if there was an cexception return(BadRequest(new { message = ex.Message })); } }
//public ActionResult SavePlan() public ActionResult SavePlan(PlanDTO plan) { int idModule = 0; // List<Etage> etages = new List<Etage>(); if (plan.id != 0) { PlanViewModel view = new PlanViewModel(); Plan p = Mapper.Map <PlanDTO, Plan>(plan); //Création du nouveau plan Plan planReturn = new Plan(); //Ajout des informations du plan par rapport à l'ancien planReturn.largeur = p.largeur; planReturn.longueur = p.longueur; planReturn.nom = p.nom; planReturn.id = p.id; int largeur = p.largeur; int longueur = p.longueur; //Création des listes de modules et étages pour le nouveau objet Plan List <Etage> listEtagesReturn = new List <Etage>(); //Calcul nombre de trait dans la grille (ex: larg:3 long:7 = trait:52) int total = (1 + planReturn.largeur) * planReturn.longueur + (1 + planReturn.longueur) * planReturn.largeur; //Calcul nombre de trait horizontal int totalHorizontal = (1 + planReturn.largeur) * planReturn.longueur; //Calcul nombre de trait vertical int totalVerticale = (1 + planReturn.longueur) * planReturn.largeur; // intialisation valeur de départ int xGrille = 10; int yGrille = 10; int numEtage = 1; // boucle sur les étages du plan foreach (Etage etage in p.listEtages) { //Création de l'objet Étage Etage etageTemp = new Etage(); etageTemp.id = etage.id; List <PositionModule> listPositionModuleReturn = new List <PositionModule>(); int taille = largeur + 1; for (int i = 0; i < taille; i++) { for (int j = 0; j < longueur; j++) { PositionModule pm = new PositionModule(); int xAfter = xGrille + 40; xGrille = xGrille + 1; pm = etage.listPositionModule.FirstOrDefault(x => x.x1 == xGrille && x.x2 == xAfter && x.y1 == yGrille && x.y2 == yGrille); if (pm == null) { pm = new PositionModule(); pm.x1 = xGrille; pm.x2 = xAfter; pm.y1 = yGrille; pm.y2 = yGrille; pm.lineId = "lineLong" + i + j + numEtage; pm.module = null; listPositionModuleReturn.Add(pm); } else { listPositionModuleReturn.Add(pm); } xGrille = xAfter; } yGrille = yGrille + 40; xGrille = 10; } xGrille = 10; yGrille = 10; taille = longueur + 1; for (int i = 0; i < taille; i++) { for (int j = 0; j < largeur; j++) { //Création de l'objet PositionModule PositionModule pm = new PositionModule(); int yAfter = yGrille + 40; yGrille = yGrille + 1; pm = etage.listPositionModule.FirstOrDefault(x => x.x1 == xGrille && x.x2 == xGrille && x.y1 == yGrille && x.y2 == yAfter); if (pm == null) { pm = new PositionModule(); pm.x1 = xGrille; pm.x2 = xGrille; pm.y1 = yGrille; pm.y2 = yAfter; pm.lineId = "lineLarg" + j + i + numEtage; pm.module = null; listPositionModuleReturn.Add(pm); } else { //Ajout dans l'objet PositionModule dans la listPositionModule listPositionModuleReturn.Add(pm); } yGrille = yAfter; } xGrille = xGrille + 40; yGrille = 10; } numEtage++; xGrille = 10; yGrille = 10; //Ajout de la liste des modules dans l'objet Étage etageTemp.listPositionModule = listPositionModuleReturn; //Ajout de l'objet Étage dans la liste des étages listEtagesReturn.Add(etageTemp); } //Ajout des étages dans le plan planReturn.listEtages = listEtagesReturn; view.plan = planReturn; view.lesModules = Mapper.Map <List <Module>, List <ModuleDTO> >(_moduleService.DonneTous().ToList()); FlashMessage.Confirmation("Mise à jour réussie"); _traceService.create(new ApplicationTrace { action = Parametres.Action.Modification.ToString(), description = String.Format("Mise à jour du plan_id={0}", view.plan.id), utilisateur = _donneNomPrenomUtilisateur() }); return(PartialView("~/Areas/ServiceCommercial/Views/Maison/_AffichePlan.cshtml", view)); } else { if (plan != null) { plan.nom = "test"; Plan planP = new Plan(); planP = Mapper.Map <PlanDTO, Plan>(plan); //plan = new Plan(); foreach (Etage e in planP.listEtages) { foreach (PositionModule p in e.listPositionModule) { idModule = p.module.id; p.module = new Module(); p.module = _moduleService.Get(idModule); } idModule = 0; } try { _planService.Create(planP, _donneNomPrenomUtilisateur()); _planService.Save(); PlanViewModel view = new PlanViewModel(); Plan p = _planService.DonneTous().ToList().OrderByDescending(x => x.id).First(); //Création du nouveau plan Plan planReturn = new Plan(); //Ajout des informations du plan par rapport à l'ancien planReturn.largeur = p.largeur; planReturn.longueur = p.longueur; planReturn.nom = p.nom; planReturn.id = p.id; int largeur = p.largeur; int longueur = p.longueur; //Création des listes de modules et étages pour le nouveau objet Plan List <Etage> listEtagesReturn = new List <Etage>(); //Calcul nombre de trait dans la grille (ex: larg:3 long:7 = trait:52) int total = (1 + planReturn.largeur) * planReturn.longueur + (1 + planReturn.longueur) * planReturn.largeur; //Calcul nombre de trait horizontal int totalHorizontal = (1 + planReturn.largeur) * planReturn.longueur; //Calcul nombre de trait vertical int totalVerticale = (1 + planReturn.longueur) * planReturn.largeur; // intialisation valeur de départ int xGrille = 10; int yGrille = 10; int numEtage = 1; // boucle sur les étages du plan foreach (Etage etage in p.listEtages) { //Création de l'objet Étage Etage etageTemp = new Etage(); etageTemp.id = etage.id; List <PositionModule> listPositionModuleReturn = new List <PositionModule>(); int taille = largeur + 1; for (int i = 0; i < taille; i++) { for (int j = 0; j < longueur; j++) { PositionModule pm = new PositionModule(); int xAfter = xGrille + 40; xGrille = xGrille + 1; pm = etage.listPositionModule.FirstOrDefault(x => x.x1 == xGrille && x.x2 == xAfter && x.y1 == yGrille && x.y2 == yGrille); if (pm == null) { pm = new PositionModule(); pm.x1 = xGrille; pm.x2 = xAfter; pm.y1 = yGrille; pm.y2 = yGrille; pm.lineId = "lineLong" + i + j + numEtage; pm.module = null; listPositionModuleReturn.Add(pm); } else { listPositionModuleReturn.Add(pm); } xGrille = xAfter; } yGrille = yGrille + 40; xGrille = 10; } xGrille = 10; yGrille = 10; taille = longueur + 1; for (int i = 0; i < taille; i++) { for (int j = 0; j < largeur; j++) { //Création de l'objet PositionModule PositionModule pm = new PositionModule(); int yAfter = yGrille + 40; yGrille = yGrille + 1; pm = etage.listPositionModule.FirstOrDefault(x => x.x1 == xGrille && x.x2 == xGrille && x.y1 == yGrille && x.y2 == yAfter); if (pm == null) { pm = new PositionModule(); pm.x1 = xGrille; pm.x2 = xGrille; pm.y1 = yGrille; pm.y2 = yAfter; pm.lineId = "lineLarg" + j + i + numEtage; pm.module = null; listPositionModuleReturn.Add(pm); } else { //Ajout dans l'objet PositionModule dans la listPositionModule listPositionModuleReturn.Add(pm); } yGrille = yAfter; } xGrille = xGrille + 40; yGrille = 10; } numEtage++; xGrille = 10; yGrille = 10; //Ajout de la liste des modules dans l'objet Étage etageTemp.listPositionModule = listPositionModuleReturn; //Ajout de l'objet Étage dans la liste des étages listEtagesReturn.Add(etageTemp); } //Ajout des étages dans le plan planReturn.listEtages = listEtagesReturn; view.plan = planReturn; view.lesModules = Mapper.Map <List <Module>, List <ModuleDTO> >(_moduleService.DonneTous().ToList()); FlashMessage.Confirmation("Sauvegarde réussie"); _traceService.create(new ApplicationTrace { action = Parametres.Action.Creation.ToString(), description = String.Format("Création du plan_id={0}", view.plan.id), utilisateur = _donneNomPrenomUtilisateur() }); return(PartialView("~/Areas/ServiceCommercial/Views/Maison/_AffichePlan.cshtml", view)); } catch (Exception e) { throw (e); } return(Json("Success")); } else { //return RedirectToAction("Index"); return(Json("An Error Has occoured")); } } return(Json("Success")); }