public IActionResult CreateReminderExtended([FromBody] ReminderExtended reminderExtend) { try { if (reminderExtend.IsEntityNull()) { return(BadRequest("Reminder object is null")); } if (reminderExtend.ClothesSize.IsEntityNull()) { return(BadRequest("Reminder.ClothesSize object is null")); } if (!reminderExtend.IsEntityEmpty()) { return(BadRequest("For create, the Reminder.Id must be null")); } if (!reminderExtend.ClothesSize.IsEntityEmpty()) { return(BadRequest("For create, the Reminder.ClothesSize.Id must be null")); } if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } _clothesSizeService.CreateClothesSize(reminderExtend.ClothesSize); _clothesSizeService.Save(); Reminder reminder = new Reminder() { Id = reminderExtend.Id, BrandId = reminderExtend.BrandId, Comments = reminderExtend.Comments, UserId = reminderExtend.UserId, ClothesSizeId = reminderExtend.ClothesSize.Id.Value }; _reminderService.CreateReminder(reminder); _reminderService.Save(); reminderExtend.Id = reminder.Id.Value; reminderExtend.CreationDate = reminder.CreationDate; return(CreatedAtRoute("ReminderById", new { id = reminderExtend.Id }, reminderExtend)); } catch (Exception ex) { _logger.Error(ex, "Error in call : api/reminder/CreateReminder", reminderExtend); return(StatusCode(StatusCodes.Status500InternalServerError, "Internal server error")); } }
public IActionResult UpdateReminderExtended(int id, [FromBody] ReminderExtended reminderExtend) { try { if (reminderExtend.IsEntityNull()) { return(BadRequest("Reminder object is null")); } if (reminderExtend.ClothesSize.IsEntityNull()) { return(BadRequest("Reminder.ClothesSize object is null")); } if (!ModelState.IsValid) { return(BadRequest("Invalid model object")); } Reminder dbReminder = _reminderService.GetReminderById(id); if (dbReminder.IsEntityNull()) { _logger.Error($"Reminder with id: {id} not found in db"); return(NotFound()); } _clothesSizeService.CreateClothesSize(reminderExtend.ClothesSize); _clothesSizeService.Save(); Reminder reminder = new Reminder() { Id = reminderExtend.Id, BrandId = reminderExtend.BrandId, Comments = reminderExtend.Comments, UserId = reminderExtend.UserId, ClothesSizeId = reminderExtend.ClothesSize.Id.Value }; _reminderService.UpdateReminder(dbReminder, reminder); _reminderService.Save(); reminderExtend.CreationDate = dbReminder.CreationDate; return(Ok(reminderExtend)); } catch (Exception ex) { _logger.Error(ex, "Error in call : api/reminder/UpdateReminderExtended/" + id, reminderExtend); return(StatusCode(StatusCodes.Status500InternalServerError, "Internal server error")); } }