Ejemplo n.º 1
0
        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"));
            }
        }
Ejemplo n.º 2
0
        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"));
            }
        }