Ejemplo n.º 1
0
        public JsonResult MealRegistryLineRegister([FromBody] List <CoffeeShopDiaryViewModel> data)
        {
            try
            {
                if (data != null)
                {
                    int?id = data.Find(x => x.User == User.Identity.Name).CoffeShopCode;
                    CafetariasRefeitórios CoffeeShop = DBCoffeeShops.GetByCode((int)id);

                    foreach (var linesToRegist in data)
                    {
                        MovimentosCafetariaRefeitório MovementsToCreate = new MovimentosCafetariaRefeitório();
                        MovementsToCreate.CódigoCafetariaRefeitório = linesToRegist.CoffeShopCode;
                        MovementsToCreate.NºUnidadeProdutiva        = linesToRegist.ProdutiveUnityNo;
                        MovementsToCreate.DataRegisto = linesToRegist.RegistryDate != "" ? DateTime.Parse(linesToRegist.RegistryDate) : (DateTime?)null;
                        MovementsToCreate.NºRecurso   = linesToRegist.ResourceNo;
                        MovementsToCreate.Descrição   = linesToRegist.Description;
                        MovementsToCreate.Tipo        = CoffeeShop.Tipo;
                        if (linesToRegist.MovementType == 2 || linesToRegist.MovementType == 3)
                        {
                            MovementsToCreate.Valor = linesToRegist.Value * (-1);
                        }
                        else
                        {
                            MovementsToCreate.Valor = linesToRegist.Value;
                        }

                        MovementsToCreate.TipoMovimento                = linesToRegist.MovementType;
                        MovementsToCreate.Quantidade                   = linesToRegist.Quantity;
                        MovementsToCreate.TipoRefeição                 = linesToRegist.MealType;
                        MovementsToCreate.DescriçãoTipoRefeição        = linesToRegist.DescriptionTypeMeal;
                        MovementsToCreate.CódigoRegião                 = CoffeeShop.CódigoRegião ?? "";
                        MovementsToCreate.CódigoÁreaFuncional          = CoffeeShop.CódigoÁreaFuncional ?? "";
                        MovementsToCreate.CódigoCentroResponsabilidade = CoffeeShop.CódigoCentroResponsabilidade ?? "";
                        MovementsToCreate.Utilizador                   = User.Identity.Name;
                        MovementsToCreate.DataHoraSistemaRegisto       = DateTime.Now;
                        MovementsToCreate.DataHoraCriação              = DateTime.Now;
                        MovementsToCreate.UtilizadorCriação            = User.Identity.Name;

                        DBCoffeeShopMovements.Create(MovementsToCreate);
                        if (MovementsToCreate.NºMovimento > 0)
                        {
                            DiárioCafetariaRefeitório lineToRemove = new DiárioCafetariaRefeitório();
                            lineToRemove = DBCoffeeShopsDiary.GetById(linesToRegist.LineNo);
                            DBCoffeeShopsDiary.Delete(lineToRemove);
                        }
                    }

                    return(Json(true));
                }
                else
                {
                    return(Json(false));
                }
            }
            catch (Exception ex)
            {
                return(Json(false));
            }
        }
        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 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));
        }
Ejemplo n.º 4
0
        public static bool Delete(CafetariasRefeitórios ObjectToDelete)
        {
            try
            {
                using (var ctx = new SuchDBContext())
                {
                    ctx.CafetariasRefeitórios.Remove(ObjectToDelete);
                    ctx.SaveChanges();
                }

                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public IActionResult DetalhesCafetariasRefeitorios(int code)
        {
            UserAccessesViewModel userPermissions = DBUserAccesses.GetByUserAreaFunctionality(User.Identity.Name, Enumerations.Features.Cafetarias_Refeitórios);
            CafetariasRefeitórios coffeeShop      = DBCoffeeShops.GetByCode(code);

            if (userPermissions != null && userPermissions.Read.Value)
            {
                ViewBag.UPermissions = userPermissions;
                ViewBag.Code         = code;

                return(Redirect(Url.Content("/CafetariasRefeitorios/Detalhes/" + "?productivityUnitNo=" + coffeeShop.NºUnidadeProdutiva + "&type=" + coffeeShop.Tipo + "&code=" + coffeeShop.Código + "&explorationStartDate=" + coffeeShop.DataInícioExploração)));
            }
            else
            {
                return(Redirect(Url.Content("~/Error/AccessDenied")));
            }
        }
Ejemplo n.º 6
0
        public static CafetariasRefeitórios Update(CafetariasRefeitórios ObjectToUpdate)
        {
            try
            {
                using (var ctx = new SuchDBContext())
                {
                    ObjectToUpdate.DataHoraModificação = DateTime.Now;
                    ctx.CafetariasRefeitórios.Update(ObjectToUpdate);
                    ctx.SaveChanges();
                }

                return(ObjectToUpdate);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Ejemplo n.º 7
0
        public static CoffeeShopViewModel ParseToViewModel(CafetariasRefeitórios x, string navDatabaseName, string navCompanyName)
        {
            if (x == null)
            {
                return(new CoffeeShopViewModel());
            }

            CoffeeShopViewModel result = new CoffeeShopViewModel()
            {
                ProductivityUnitNo = x.NºUnidadeProdutiva,
                Type                     = x.Tipo,
                TypeText                 = x.Tipo == 1 ? "Cafetaria" : x.Tipo == 2 ? "Refeitório" : "",
                Code                     = x.Código,
                StartDateExploration     = x.DataInícioExploração.ToString("yyyy-MM-dd"),
                EndDateExploration       = x.DataFimExploração.HasValue ? x.DataFimExploração.Value.ToString("yyyy-MM-dd") : "",
                Description              = x.Descrição,
                CodeResponsible          = x.CódResponsável,
                CodeRegion               = x.CódigoRegião,
                CodeFunctionalArea       = x.CódigoÁreaFuncional,
                CodeResponsabilityCenter = x.CódigoCentroResponsabilidade,
                Warehouse                = x.Armazém,
                WarehouseSupplier        = x.ArmazémLocal,
                ProjectNo                = x.NºProjeto,
                Active                   = x.Ativa,
                CreateDate               = x.DataHoraCriação,
                CreateUser               = x.UtilizadorCriação,
                UpdateDate               = x.DataHoraModificação,
                UpdateUser               = x.UtilizadorModificação
            };

            //Get totals
            result.TotalRevenues    = DBCoffeeShopMovements.GetTotalRevenuesFor(result.ProductivityUnitNo, result.Code, result.Type);
            result.TotalConsumption = DBProjectDiary.GetProjectTotaConsumption(result.ProjectNo);

            decimal totalMeals = DBCoffeeShopMovements.GetTotalMealsFor(result.ProductivityUnitNo, result.Code, result.Type);

            result.NumberOfMeals = totalMeals;

            return(result);
        }