public JsonResult UpdateCoffeeShop([FromBody] CoffeeShopViewModel item)
        {
            if (item != null)
            {
                item.UpdateUser = User.Identity.Name;
                CafetariasRefeitórios updatedItem = DBCoffeeShops.ParseToDB(item);
                updatedItem = DBCoffeeShops.Update(updatedItem);

                if (updatedItem != null)
                {
                    item             = DBCoffeeShops.ParseToViewModel(updatedItem, config.NAVDatabaseName, config.NAVCompanyName);
                    item.eReasonCode = 1;
                    item.eMessage    = "Cafetaria / refeitório atualizado com sucesso.";
                }
                else
                {
                    item.eReasonCode = 2;
                    item.eMessage    = "Ocorreu um erro ao atualizar a cafetaria / refeitório.";
                }
            }
            else
            {
                item = new CoffeeShopViewModel()
                {
                    eReasonCode = 3,
                    eMessage    = "Ocorreu um erro ao atualizar. A cafetaria / refeitório não pode ser nulo."
                };
            }
            return(Json(item));
        }
        public JsonResult GetCoffeeShop([FromBody] Newtonsoft.Json.Linq.JObject requestParams)
        {
            CoffeeShopViewModel item;

            if (requestParams != null)
            {
                int    productivityUnitNo = int.Parse(requestParams["productivityUnitNo"].ToString());
                int    type = int.Parse(requestParams["type"].ToString());
                int    code = int.Parse(requestParams["code"].ToString());
                string explorationStartDate = requestParams["explorationStartDate"].ToString();

                DateTime date;
                if (DateTime.TryParse(explorationStartDate, out date))
                {
                    var coffeeShop = DBCoffeeShops.GetById(productivityUnitNo, type, code, date);
                    item = DBCoffeeShops.ParseToViewModel(coffeeShop, config.NAVDatabaseName, config.NAVCompanyName);
                }
                else
                {
                    item = new CoffeeShopViewModel();
                    item.ProductivityUnitNo = productivityUnitNo;
                }
            }
            else
            {
                item = new CoffeeShopViewModel();
            }
            return(Json(item));
        }
        public JsonResult CreateCoffeeShop([FromBody] CoffeeShopViewModel data)
        {
            try
            {
                if (data != null)
                {
                    data.CreateUser = User.Identity.Name;
                    CafetariasRefeitórios itemToCreate = DBCoffeeShops.ParseToDB(data);

                    itemToCreate = DBCoffeeShops.Create(itemToCreate);

                    if (itemToCreate != null)
                    {
                        data             = DBCoffeeShops.ParseToViewModel(itemToCreate, config.NAVDatabaseName, config.NAVCompanyName);
                        data.eReasonCode = 1;
                        data.eMessage    = "Registo criado com sucesso.";
                    }
                    else
                    {
                        data.eReasonCode = 3;
                        data.eMessage    = "Ocorreu um erro ao inserir os dados na base de dados.";
                    }
                }
            }
            catch (Exception)
            {
                data.eReasonCode = 2;
                data.eMessage    = "Ocorreu um erro ao criar a cafetaria / refeitório.";
            }
            return(Json(data));
        }