Пример #1
0
        private bool Autenticar()
        {
            var passport = new SuiteTalkWs.Passport();
            var role     = new SuiteTalkWs.RecordRef();

            passport.account = ConfigurationManager.AppSettings["SuiteAccount"];
            passport.email   = ConfigurationManager.AppSettings["SuiteEmail"];
            role.internalId  = ConfigurationManager.AppSettings["SuiteInternalId"];

            passport.role     = role;
            passport.password = ConfigurationManager.AppSettings["SuitePassword"];

            _client.applicationInfo =
                new SuiteTalkWs.ApplicationInfo
            {
                applicationId = ConfigurationManager.AppSettings["SuiteApplicationId"]
            };

            var response = _client.login(passport);

            if (response.status.isSuccess)
            {
                return(true);
            }
            LstErrores.Add(ReportarErrores(response.status));
            return(false);
        }
Пример #2
0
        private void UpdateBuybox(Producto prod, string internalId)
        {
            var value = ObtenerRecordId("338", "Buybox", prod.ASIN, 33, "custrecord_ib_asin");
            var rec   = new SuiteTalkWs.CustomRecord();

            var recType = new SuiteTalkWs.RecordRef
            {
                internalId = "338",
                name       = "Buybox"
            };

            rec.recType         = recType;
            rec.name            = "Buybox";
            rec.customFieldList = CustomListBuybox(prod, internalId);
            if (!string.IsNullOrEmpty(value))
            {
                rec.internalId = value;
                var resUpdate = _client.update(rec);
                if (resUpdate.status.isSuccess)
                {
                    return;
                }
                var res = _client.add(rec);
                _bitacora.GuardarLinea(res.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                return;
            }
            var res2 = _client.add(rec);

            _bitacora.GuardarLinea(res2.status.isSuccess
                ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
        }
Пример #3
0
        private void UploadDimensionesPaquete(string asin, string internalId)
        {
            var value     = ObtenerRecordSelectId("341", "Dimensiones del paquete", internalId, 7, "custrecord_dp_item");
            var dimencion = DimensionesPaqueteAdapter.ObtenerDimensionesPaquete(asin);

            if (dimencion == null)
            {
                return;
            }
            var rec = new SuiteTalkWs.CustomRecord();

            var recType = new SuiteTalkWs.RecordRef
            {
                internalId = "341",
                name       = "Dimensiones del paquete"
            };

            rec.recType = recType;
            rec.name    = "Dimensiones del paquete";


            rec.customFieldList = CustomListDimensionPaquete(internalId, dimencion);

            if (!string.IsNullOrEmpty(value))
            {
                rec.internalId = value;
                var resUpdate = _client.update(rec);
                if (resUpdate.status.isSuccess)
                {
                    return;
                }
                var res = _client.add(rec);
                _bitacora.GuardarLinea(res.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                return;
            }
            var res2 = _client.add(rec);

            _bitacora.GuardarLinea(res2.status.isSuccess
                ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
        }
Пример #4
0
        private void UpdateResumenOfertas(Producto prod, string internalId)
        {
            var value   = ObtenerRecordSelectId("344", "Resúmen Ofertas", internalId, 8, "custrecord_ro_item");
            var resumen = ResumenAdapter.ObtenerResumen(prod.ASIN);

            if (resumen == null)
            {
                return;
            }
            var rec     = new SuiteTalkWs.CustomRecord();
            var recType = new SuiteTalkWs.RecordRef
            {
                internalId = "344",
                name       = "Resúmen Ofertas"
            };

            rec.recType = recType;
            rec.name    = "Resúmen Ofertas";

            rec.customFieldList = CustomListResumenOfertas(internalId, resumen);

            if (!string.IsNullOrEmpty(value))
            {
                rec.internalId = value;
                var resUpdate = _client.update(rec);
                if (resUpdate.status.isSuccess)
                {
                    return;
                }
                var res = _client.add(rec);
                _bitacora.GuardarLinea(res.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                return;
            }
            var res2 = _client.add(rec);

            _bitacora.GuardarLinea(res2.status.isSuccess
                ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
        }
Пример #5
0
        private void UploadCaracteristicas(string asin, string internalId)
        {
            var caract = CaracteristicasAdapter.ObtenerCaracteristicas(asin);

            foreach (var item in caract)
            {
                var value = ObtenerRecordId("345", "Buybox caracteristicas", internalId, 1, "custrecord_bc_caracteristicas", item.Caracteristica);
                var rec   = new SuiteTalkWs.CustomRecord();

                var recType = new SuiteTalkWs.RecordRef
                {
                    internalId = "345",
                    name       = "Buybox caracteristicas"
                };
                rec.recType = recType;
                rec.name    = "Buybox caracteristicas";

                rec.customFieldList = CustomListCaract(internalId, item);

                if (!string.IsNullOrEmpty(value))
                {
                    rec.internalId = value;
                    var resUpdate = _client.update(rec);
                    if (resUpdate.status.isSuccess)
                    {
                        continue;
                    }
                    var res = _client.add(rec);
                    _bitacora.GuardarLinea(res.status.isSuccess
                        ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                        : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                    continue;
                }
                var res2 = _client.add(rec);
                _bitacora.GuardarLinea(res2.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
            }
        }
Пример #6
0
        private void UploadSimi(string asin, string internalId)
        {
            var similar = SimilaresAdapter.ObtenerSimilares(asin);

            foreach (var item in similar)
            {
                var value = ObtenerRecordId("342", "Similares", internalId, 3, "custrecord_sim_asin", item.ASINSimilar);
                var rec   = new SuiteTalkWs.CustomRecord();

                var recType = new SuiteTalkWs.RecordRef
                {
                    internalId = "342",
                    name       = "Similares"
                };
                rec.recType         = recType;
                rec.name            = "Similares";
                rec.customFieldList = CustomListSimi(internalId, item);

                if (!string.IsNullOrEmpty(value))
                {
                    rec.internalId = value;
                    var resUpdate = _client.update(rec);
                    if (resUpdate.status.isSuccess)
                    {
                        return;
                    }
                    var res = _client.add(rec);
                    _bitacora.GuardarLinea(res.status.isSuccess
                        ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                        : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                    return;
                }
                var res2 = _client.add(rec);
                _bitacora.GuardarLinea(res2.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
            }
        }
Пример #7
0
        private void UpdateBuyboxInfo(string asin, string internalId)
        {
            var buybox = BuyBoxAdapter.ObtenerBuyBox(asin);

            foreach (var item in buybox)
            {
                var value   = ObtenerRecordId("339", "BuyBox Info", internalId, 11, "custrecord_bb_item");
                var rec     = new SuiteTalkWs.CustomRecord();
                var recType = new SuiteTalkWs.RecordRef
                {
                    internalId = "339",
                    name       = "BuyBox Info"
                };
                rec.recType         = recType;
                rec.name            = "BuyBox Info";
                rec.customFieldList = CustomListBuyboxInfo(item, internalId);
                if (!string.IsNullOrEmpty(value))
                {
                    rec.internalId = value;
                    var resUpdate = _client.update(rec);
                    if (resUpdate.status.isSuccess)
                    {
                        continue;
                    }
                    var res = _client.add(rec);
                    _bitacora.GuardarLinea(res.status.isSuccess
                        ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                        : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res.status.statusDetail.First().message}");
                    continue;
                }
                var res2 = _client.add(rec);
                _bitacora.GuardarLinea(res2.status.isSuccess
                    ? $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Correcto"
                    : $"{DateTime.Now:yyyy-MM-dd hh:mm:ss}|Error|{res2.status.statusDetail.First().message}");
            }
        }
Пример #8
0
        private string ObtenerRecordId(string internalId, string name, string search, int totalColums, string columName, string search2 = "")
        {
            var customRecordSearch      = new SuiteTalkWs.CustomRecordSearch();
            var customRecordSearchBasic = new SuiteTalkWs.CustomRecordSearchBasic();
            var recType = new SuiteTalkWs.RecordRef
            {
                internalId = internalId,
                name       = name
            };

            customRecordSearchBasic.recType = recType;
            var customRecordName = new SuiteTalkWs.SearchStringField
            {
                @operator         = SuiteTalkWs.SearchStringFieldOperator.contains,
                operatorSpecified = true,
                searchValue       = search
            };

            customRecordSearchBasic.name = customRecordName;

            customRecordSearch.basic = customRecordSearchBasic;
            var response = _client.search(customRecordSearch);

            // Process response
            if (response.status.isSuccess)
            {
                foreach (var item in response.recordList)
                {
                    var custom = (SuiteTalkWs.CustomRecord)item;
                    //if (custom.customFieldList.Length == totalColums)
                    //{
                    foreach (var item2 in custom.customFieldList.Where(x => x.GetType() == typeof(SuiteTalkWs.StringCustomFieldRef) && x.scriptId == columName))
                    {
                        try
                        {
                            var value = (SuiteTalkWs.StringCustomFieldRef)item2;
                            if (search2 == "")
                            {
                                if (value.value == search)
                                {
                                    return(custom.internalId);
                                }
                            }
                            else
                            {
                                if (value.value == search2)
                                {
                                    return(custom.internalId);
                                }
                            }
                        }
                        catch (Exception)
                        {
                            // ignored
                        }
                    }
                    //}
                }
            }
            else
            {
                Console.WriteLine(response.status);
            }

            return("");
        }