Ejemplo n.º 1
0
        public void Sync(Model.Local.Customer Customer)
        {
            this.Semaphore.WaitOne();

            try
            {
                Model.Sage.F_COMPTETRepository F_COMPTETRepository = new Model.Sage.F_COMPTETRepository();

                if (F_COMPTETRepository.ExistId(Customer.Sag_Id))
                {
                    Model.Sage.F_COMPTET F_COMPTET = new Model.Sage.F_COMPTET();
                    Model.Prestashop.PsAECCustomerPayementRepository PsAECPayementRepository = new Model.Prestashop.PsAECCustomerPayementRepository();
                    Model.Prestashop.PsAEcCustomerPayement           PsAEcPayement           = new Model.Prestashop.PsAEcCustomerPayement();
                    F_COMPTET = F_COMPTETRepository.Read(Customer.Sag_Id);
                    List <Model.Sage.F_REGLEMENTT> ListF_REGLEMENTT = new Model.Sage.F_REGLEMENTTRepository().ListCLient(F_COMPTET.CT_Num);

                    // <JG> 05/03/2015 ajout suppression de prestashop ni modèle n'existe plus dans Sage
                    IQueryable <Model.Prestashop.PsAEcCustomerPayement> ListCustomerPayement = PsAECPayementRepository.ListCustomer((uint)Customer.Pre_Id);

                    foreach (Model.Prestashop.PsAEcCustomerPayement PsAEcCustomerPayement in ListCustomerPayement)
                    {
                        if (ListF_REGLEMENTT.Count(rg => rg.cbMarq == (int)PsAEcCustomerPayement.IDSage) == 0)
                        {
                            PsAECPayementRepository.Delete(PsAEcCustomerPayement);
                        }
                    }

                    foreach (Model.Sage.F_REGLEMENTT F_REGLEMENTT in ListF_REGLEMENTT)
                    {
                        PsAEcPayement           = new Model.Prestashop.PsAEcCustomerPayement();
                        PsAECPayementRepository = new Model.Prestashop.PsAECCustomerPayementRepository();

                        if (PsAECPayementRepository.ExistCustomerPayement((uint)Customer.Pre_Id, (uint)F_REGLEMENTT.cbMarq))
                        {
                            PsAEcPayement          = PsAECPayementRepository.ReadCustomerPayement((uint)Customer.Pre_Id, (uint)F_REGLEMENTT.cbMarq);
                            PsAEcPayement.Payement = ReadPayement(F_REGLEMENTT.cbMarq);
                            PsAECPayementRepository.Save();
                        }
                        else
                        {
                            PsAEcPayement.IDCustomer = (uint)Customer.Pre_Id;
                            PsAEcPayement.IDSage     = (uint)F_REGLEMENTT.cbMarq;
                            PsAEcPayement.Payement   = ReadPayement(F_REGLEMENTT.cbMarq);
                            PsAECPayementRepository.Add(PsAEcPayement);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Core.Error.SendMailError(ex.ToString());
            }
            lock (this)
            {
                this.CurrentCount += 1;
            }
            this.ReportProgress(this.CurrentCount * 100 / this.ListCount);
            this.Semaphore.Release();
        }
Ejemplo n.º 2
0
        private static String ReadPayement(int IdReglementT)
        {
            String Paiement = string.Empty;

            Model.Sage.F_REGLEMENTT           F_REGLEMENTT           = new Model.Sage.F_REGLEMENTT();
            Model.Sage.F_REGLEMENTTRepository F_REGLEMENTTRepository = new Model.Sage.F_REGLEMENTTRepository();
            if (F_REGLEMENTTRepository.Exist(IdReglementT))
            {
                F_REGLEMENTT = F_REGLEMENTTRepository.Read(IdReglementT);

                // Pourcentage
                if (F_REGLEMENTT.RT_TRepart == 0)
                {
                    Paiement = Math.Round(F_REGLEMENTT.RT_VRepart.Value, 2).ToString() + "% à ";
                }
                else
                {
                    // Equilibre
                    if (F_REGLEMENTT.RT_TRepart == 1)
                    {
                        Paiement = "Paiement à ";
                    }
                    // Montant
                    else
                    {
                        Paiement = Math.Round(F_REGLEMENTT.RT_VRepart.Value, 2).ToString() + "€ à ";
                    }
                }

                Paiement += F_REGLEMENTT.RT_NbJour.ToString() + " jour(s) ";

                if (F_REGLEMENTT.RT_Condition == 0)
                {
                    Paiement += "net(s) ";
                }
                else
                {
                    if (F_REGLEMENTT.RT_Condition == 1)
                    {
                        Paiement += "fin de mois civil ";
                    }
                    else
                    {
                        Paiement += "fin de mois ";
                    }
                }

                if (F_REGLEMENTT.RT_JourTb01 > 0)
                {
                    Paiement += "le(s) " + F_REGLEMENTT.RT_JourTb01.ToString();

                    if (F_REGLEMENTT.RT_JourTb02 > 0)
                    {
                        Paiement += ", " + F_REGLEMENTT.RT_JourTb02.ToString();

                        if (F_REGLEMENTT.RT_JourTb03 > 0)
                        {
                            Paiement += ", " + F_REGLEMENTT.RT_JourTb03.ToString();

                            if (F_REGLEMENTT.RT_JourTb04 > 0)
                            {
                                Paiement += ", " + F_REGLEMENTT.RT_JourTb04.ToString();

                                if (F_REGLEMENTT.RT_JourTb05 > 0)
                                {
                                    Paiement += ", " + F_REGLEMENTT.RT_JourTb05.ToString();

                                    if (F_REGLEMENTT.RT_JourTb06 > 0)
                                    {
                                        Paiement += ", " + F_REGLEMENTT.RT_JourTb06.ToString();
                                    }
                                }
                            }
                        }
                    }

                    Paiement += " ";
                }

                Paiement += "par " + F_REGLEMENTT.P_REGLEMENT.R_Intitule;
            }
            return(Paiement);
        }