Example #1
0
        public static bool CloseWithMessage()
        {
            RepositoryGeneral.Set();
            var general = RepositoryGeneral.Generals.Find(l => l.EstablishmentCustomerId == Config.IdEstablishment);

            RepositoryGeneral.Mess = string.Empty;

            if (general.IsOpen ?? true)
            {
                if (CloseOpenTicketWindows())
                {
                    PrintCloseTicket(GlobalVar.TicketWindowG);
                    general.IsOpen = false;
                    general.User   = Config.User;
                    general.Name   = Config.NameTicket;
                    general.TicketWindowGeneral = Guid.Empty;
                    general.Date = DateTime.Now;
                    RepositoryGeneral.Update(general);
                    RepositoryGeneral.Mess = Properties.Resources.LabelGeneralCloseEnd;
                    return(true);
                }
                RepositoryGeneral.Mess += Properties.Resources.LabelErrorGeneralClosing + " :" + Environment.NewLine +
                                          RepositoryCloseTicketG.Mess;
                return(false);
            }
            RepositoryGeneral.Mess += Properties.Resources.LabelAlreadyGeneralClosing;
            return(false);
        }
Example #2
0
        public static void MegaSync()
        {
            // check tables
            var syncTask = Task <bool> .Factory.StartNew(
                () =>
            {
                RepositoryActionHashBox.Sync();
                //RepositoryCheck
                RepositoryCheckTicket.Sync();
                RepositoryCheckTicketTmp.Sync();
                RepositoryPro.Sync();
                RepositoryClientInfo.Sync();
                RepositoryCloseTicket.Sync();
                RepositoryCloseTicketCheckDiscount.Sync();
                RepositoryCloseTicketG.Sync();
                RepositoryCloseTicketTmp.Sync();
                RepositoryCountry.Sync();
                RepositoryCurrency.Sync();
                //RepositoryCurrencyRelations
                RepositoryDevisId.Sync();
                RepositoryDevisWeb.Sync();
                //RepositoryDiscount
                RepositoryDiscountCard.Sync();
                RepositoryEstablishment.Sync();
                RepositoryGeneral.Sync();
                RepositoryGroupProduct.Sync();
                //RepositoryHistoryChangeProduct
                RepositoryInfoClientsDiscountsType.Sync();
                RepositoryLastUpdate.Sync();
                RepositoryOpenTicketWindow.Sync();
                RepositoryPayProduct.Sync();
                RepositoryPayProductTmp.Sync();
                //RepositoryPriceGros
                RepositoryProduct.Sync();
                RepositoryProductBc.Sync();
                RepositoryStatNation.Sync();
                RepositoryStatNationPopup.Sync();
                RepositoryStatPlaceArrond.Sync();
                //RepositoryStockLogs
                RepositoryStockReal.Sync();
                RepositorySyncPlus.Sync();
                RepositorySyncPlusProduct.Sync();
                //RepositoryTes
                RepositoryTva.Sync();
                RepositoryTypePay.Sync();
                //RepositoryXmlFile
                return(true);
            });

            syncTask.ContinueWith(
                s => { });
        }
        //private RepositoryGeneral _ir = new RepositoryGeneral();

        private static bool TryRetrieveToken(HttpRequestMessage request, out string token)
        {
            RepositoryGeneral general = new RepositoryGeneral();
            var usaSesionUsuario      = general.ObtenerRegistro <Parametros>(z => z.idParametro == 13);

            token = null;
            IEnumerable <string> authzHeaders;

            if (!request.Headers.TryGetValues("Authorization", out authzHeaders) || authzHeaders.Count() > 1)
            {
                return(false);
            }
            var bearerToken = authzHeaders.ElementAt(0);

            token = bearerToken.StartsWith("Bearer ") ? bearerToken.Substring(7) : bearerToken;
            if (usaSesionUsuario.parametroJSON == "0")
            {
                return(true);
            }
            var jwt       = token;
            var handler   = new JwtSecurityTokenHandler();
            var tokenRead = handler.ReadJwtToken(jwt);
            var user      = tokenRead.Claims.FirstOrDefault(z => z.Type == "Usuario");
            JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
            dynamic j              = jsonSerializer.Deserialize <dynamic>(user.Value);//deserializamos el objeto
            var     fun            = new FuncionesViewModels();
            var     idTransformado = fun.Base64_Decode(j["idUsuario"].ToString());
            int     id             = Convert.ToInt32(idTransformado);

            var userData = general.ObtenerRegistro <UsuarioSesion>(z => z.idUsuario == id && z.vigente == true);

            if (userData != null)
            {
                if (userData.token == token)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Example #4
0
        public static bool Open()
        {
            RepositoryGeneral.Set();

            if (!RepositoryGeneral.IsOpen)
            {
                var ticketWindowGeneral = RepositoryCloseTicketG.Create();

                var general = RepositoryGeneral.Generals.FirstOrDefault(g => g.EstablishmentCustomerId == Config.IdEstablishment);

                if (general != null)
                {
                    general.Name   = Config.NameTicket;
                    general.IsOpen = true;
                    general.TicketWindowGeneral = ticketWindowGeneral;
                    general.User = Config.User;
                    general.Date = DateTime.Now;
                    general.EstablishmentCustomerId = Config.IdEstablishment;
                    RepositoryGeneral.Update(general);
                }
                else
                {
                    general = new GeneralType(Guid.NewGuid(), ticketWindowGeneral, true, Config.NameTicket, Config.User, DateTime.Now, Config.IdEstablishment);
                    RepositoryGeneral.Add(general);
                }

                GlobalVar.TicketWindowG = ticketWindowGeneral;

                foreach (var rec in RepositoryOpenTicketWindow.OpenTicketWindows.FindAll(l => l.EstablishmentCustomerId == Config.IdEstablishment))
                {
                    rec.IdTicketWindowG = GlobalVar.TicketWindowG;
                    RepositoryOpenTicketWindow.Update(rec);
                }
                return(true);
            }
            FunctionsService.ShowMessageTime("Уже открыта просто продолжите работать");
            return(false);
        }
Example #5
0
        public static void SyncAll(Dispatcher dispatcher)
        {
            var progressCount = Config.IsUseServer ? 7 + RepositorySyncIsLoading.CheckedCount() : 7;

            ProgressHelper.Instance.Start(progressCount, Resources.LabelDataLoading);

            var progressValue = 0;

            ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelConnectionTest);
            SyncData.SetConnect(Config.IsUseServer && DbService.Connect());

            ProgressHelper.Instance.SetValue(progressValue++, Resources.MenuUsers);
            RepositoryAccountUser.Set();

            ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelTypesPays);
            RepositoryTypePay.Sync();
            SetDefoultTypesPays();

            ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelCurrency);
            RepositoryCurrency.Sync();
            if (RepositoryCurrency.Currencys.Count == 0)
            {
                LogService.LogText(TraceLevel.Error, "Currencus count is 0");
                GlobalVar.IsOpen = false;
            }

            ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelCassieData);
            RepositoryGeneral.Set();
            RepositoryOpenTicketWindow.Sync();
            RepositoryCloseTicketG.Sync();
            RepositorySyncIsLoading.LoadFile();
            RepositoryEstablishment.Sync();
            if (RepositoryEstablishment.Establishment != null)
            {
                LogService.EstablishmentInfo = "Ville = " + RepositoryEstablishment.Establishment.Ville + "\r\n" +
                                               "Adress = " + RepositoryEstablishment.Establishment.Adress + "\r\n" +
                                               "Name = " + RepositoryEstablishment.Establishment.Name + "\r\n" +
                                               "Type = " + RepositoryEstablishment.Establishment.Type + "\r\n" +
                                               "Mail = " + RepositoryEstablishment.Establishment.Mail + "\r\n" +
                                               "Phone = " + RepositoryEstablishment.Establishment.Phone + "\r\n" +
                                               "Fax = " + RepositoryEstablishment.Establishment.Fax + "\r\n" +
                                               "CodeNaf = " + RepositoryEstablishment.Establishment.CodeNaf + "\r\n" +
                                               "Cp = " + RepositoryEstablishment.Establishment.Cp + "\r\n" +
                                               "Ntva = " + RepositoryEstablishment.Establishment.Ntva + "\r\n" +
                                               "Siret = " + RepositoryEstablishment.Establishment.Siret;
            }

            ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelProducts);
            RepositoryProduct.Set();

            if (Config.IsUseServer)
            {
                if (RepositorySyncIsLoading.IsLoading(SyncEnum.PayProduct))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelPayProduct);
                    RepositoryPayProduct.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.CloseTicket))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelCloseTicket);
                    RepositoryCloseTicket.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.PayProductTmp))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelPayProductTmp);
                    RepositoryPayProductTmp.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.CheckTicketTmp))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelCheckTicketTmp);
                    RepositoryCheckTicketTmp.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.CheckTicket))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelCheckTicket);
                    RepositoryCheckTicket.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.ClientInfo))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelClientInfo);
                    RepositoryClientInfo.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.Pro))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelProviders);
                    RepositoryPro.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.DiscountCard))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelDiscountCard);
                    RepositoryDiscountCard.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.DevisWeb))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelDevisWeb);
                    RepositoryDevisWeb.Sync();
                }

                if (RepositorySyncIsLoading.IsLoading(SyncEnum.XmlFile))
                {
                    ProgressHelper.Instance.SetValue(progressValue++, Resources.LabelXmlFile);
                    RepositoryXmlFile.SetAllFromDb();
                }
            }

            ProgressHelper.Instance.SetValue(progressValue, Resources.LabelDataLoading);
            ClassGridGroup.Initialize();
            ClassGridProduct.Initialize();
            ClassGridStatistiqueRegionEtPays.Initialize();
            ProgressHelper.Instance.Stop();

            if (SyncData.IsConnect)
            {
                if (ClassDataTimeSrv.GetDateTimeFromSrv())
                {
                    var text = Resources.LabelServerTime + " : " + ClassDataTimeSrv.DateTimeFromSrv + Environment.NewLine +
                               Resources.LabelCashboxTime + " : " + DateTime.Now + Environment.NewLine;

                    var window = new WDateTimeSrv(text);
                    window.ShowDialog();
                }
            }

            if (!Config.Bureau)
            {
                var generalEstablishment =
                    RepositoryGeneral.Generals.Find(l => l.EstablishmentCustomerId == Config.IdEstablishment);

                GlobalVar.TicketWindowG = generalEstablishment.TicketWindowGeneral; //SQL.OCC.cassieInf.idTicketWindowG;
                var openTicketWindow =
                    RepositoryOpenTicketWindow.OpenTicketWindows.FirstOrDefault(l => l.CustomerId == Config.CustomerId);
                if (openTicketWindow != null)
                {
                    GlobalVar.TicketWindow = openTicketWindow.IdTicketWindow;
                    GlobalVar.IsOpen       = openTicketWindow.IsOpen;
                    if (!GlobalVar.IsOpen)
                    {
                        openTicketWindow = null;
                    }
                }
                else
                {
                    GlobalVar.IsOpen = false;
                }

                // окно закрытия кассы
                if (generalEstablishment.Date.Date != DateTime.Now.Date &&
                    generalEstablishment.TicketWindowGeneral != Guid.Empty
                    )
                {
                    var errorlist = Resources.LabelNow + " : " + DateTime.Now.ToLongDateString() + "  " +
                                    DateTime.Now.ToLongTimeString() + Environment.NewLine +
                                    "--------------------------------" + Environment.NewLine + Environment.NewLine;

                    errorlist += " " + Resources.LabelOpenTotalTW + " : " +
                                 RepositoryGeneral.Generals.First().Date.ToLongDateString() + Environment.NewLine;
                    errorlist += Resources.LabelOpenLocal + " : ";
                    errorlist += openTicketWindow?.DateOpen.ToLongDateString() ?? string.Empty + Environment.NewLine;

                    var tickedWindowId = GlobalVar.TicketWindow != Guid.Empty ? GlobalVar.TicketWindow.ToString() : string.Empty;

                    var window = new WCloseTicketWindow(errorlist)
                    {
                        BtnCloseLocal = { IsEnabled = tickedWindowId != string.Empty }
                    };
                    window.ShowDialog();
                    RepositoryGeneral.Set();
                    RepositoryOpenTicketWindow.Sync();
                }

                if (!GlobalVar.IsBreak)
                {
                    // окно открытия кассы
                    if (!RepositoryGeneral.IsOpen)
                    {
                        if (GlobalVar.TicketWindowG == Guid.Empty)
                        {
                            var status = Environment.NewLine + "--------------------------------" + Environment.NewLine +
                                         Resources.LabelCashBox + " : " + Config.NameTicket + Environment.NewLine +
                                         Resources.LabelPost + " : " + Config.NumberTicket + Environment.NewLine +
                                         Resources.LabelOpenedBy + " : " + Config.User + Environment.NewLine +
                                         Environment.NewLine +
                                         "--------------------------------" + Environment.NewLine + Environment.NewLine +
                                         Resources.LabelTotalOpeningKey + " : " + GlobalVar.TicketWindowG +
                                         Environment.NewLine + Environment.NewLine +
                                         Resources.LabelLocalOpeningKey + " : " + GlobalVar.TicketWindow +
                                         Environment.NewLine;

                            var window = new WOpenTicletG(status);
                            window.ShowDialog();
                        }
                    }

                    if (GlobalVar.TicketWindow == Guid.Empty)
                    {
                        var status = Environment.NewLine + "--------------------------------" + Environment.NewLine +
                                     Resources.LabelCashBox + " : " + Config.NameTicket + Environment.NewLine +
                                     Resources.LabelPost + " : " + Config.NumberTicket + Environment.NewLine +
                                     Resources.LabelOpenedBy + " : " + Config.User + Environment.NewLine +
                                     Environment.NewLine +
                                     "--------------------------------" + Environment.NewLine +
                                     Resources.LabelTotalOpeningKey + " : " + GlobalVar.TicketWindowG +
                                     Environment.NewLine +
                                     Resources.LabelLocalOpeningKey + " : " + GlobalVar.TicketWindow +
                                     Environment.NewLine;
                        var window = new WOpenTicket(status);
                        window.ShowDialog();
                    }
                }
            }

            DotLiquidService.SetPath(0);
            DotLiquidService.SetPath(1);
            DotLiquidService.SetPath(2);

            RepositoryActionHashBox.Sync();
            CassieService.LoadProductCheckFromFile();
        }