Ejemplo n.º 1
0
 /// <summary>
 /// Does not set ToDoItem!!
 /// </summary>
 /// <param name="pomodoroItemModel"></param>
 /// <returns></returns>
 public static PomodoroItem FromModelToEntity(PomodoroItemModel pomodoroItemModel)
 {
     return(new PomodoroItem
     {
         DateTimeInUtc = pomodoroItemModel.DateTimeInUtc,
         Aborted = pomodoroItemModel.Aborted,
         LengthInSec = pomodoroItemModel.LengthInSec,
         NumberOfInterruptions = pomodoroItemModel.NumberOfInterruptions,
         Id = pomodoroItemModel.Id,
     });
 }
        public async Task <PomodoroItemModel> AddNewPomodoroItemAsync(PomodoroItemModel newItem)
        {
            var newEntity = Mapper.Map <PomodoroItemEntity>(newItem);

            newEntity.Operation = ClientShared.LocalData.Sync.SyncOperation.Insert;

            var tracker = toDoDataContext.PomodoroItems.Add(newEntity);

            var val = await toDoDataContext.SaveChangesAsync();

            return(tracker.Entity);
        }
Ejemplo n.º 3
0
        public static PomodoroItemModel FromEntityToModel(PomodoroItem pomodoroItem)
        {
            var retVal = new PomodoroItemModel
            {
                DateTimeInUtc         = pomodoroItem.DateTimeInUtc,
                Aborted               = pomodoroItem.Aborted,
                LengthInSec           = pomodoroItem.LengthInSec,
                NumberOfInterruptions = pomodoroItem.NumberOfInterruptions,
                Id = pomodoroItem.Id
            };

            if (pomodoroItem.ToDoItem != null)
            {
                retVal.ToDoItemGuid = pomodoroItem.ToDoItem.Id;
            }

            return(retVal);
        }
        public async Task <PomodoroItemModel> AddNewPomodoroItemAsync(PomodoroItemModel newItem)
        {
            if (newItem == null)
            {
                throw new Exception("Cannot send null to the backend");
            }

            var serializedItem = JsonConvert.SerializeObject(newItem);

            var response = await client.PostAsync($"api/PomodoroItems", new StringContent(serializedItem, Encoding.UTF8, "application/json"));

            if (response.IsSuccessStatusCode)
            {
                var strRet = await response.Content.ReadAsStringAsync();

                return(JsonConvert.DeserializeObject <PomodoroItemModel>(strRet));
            }

            throw new Exception("Failed Adding new item");
        }
        public IActionResult Post([FromBody] PomodoroItemModel newItem)
        {
            logger.LogInformation("New promodo Item added");

            try
            {
                var newEntity = PomodoroConverter.FromModelToEntity(newItem);
                newEntity.ToDoItem = _dbContext.ToDoItems.Where(n => n.Id == newItem.ToDoItemGuid).FirstOrDefault();
                var dbEntity = _dbContext.PomodoroItems.Add(newEntity);
                _dbContext.SaveChanges();

                var savedItemModel = PomodoroConverter.FromEntityToModel(dbEntity.Entity);
                savedItemModel.ToDoItemGuid = newItem.ToDoItemGuid;
                logger.LogInformation($"added new {nameof(PomodoroItemModel)}");
                return(Ok(savedItemModel));
            }
            catch (Exception e)
            {
                logger.LogWarning($"Failed adding {nameof(PomodoroItemModel)}, {e?.GetType()}, msg: {e?.Message}");
                return(BadRequest($"Failed adding new {nameof(PomodoroItemModel)}"));
            }
        }