Example #1
0
        public RegisterAgentBulkResponse RegisterAgentBulk(RegisterAgentBulkRequest externalRequest)
        {
            Log(Logger.LogMessageType.Info, "->   -------------------- Comienza la ejecución del método Registration.RegisterAgentBulk", Logger.LoggingLevelType.Medium);
            RegisterAgentBulkResponse externalResponse = null;

            try
            {
                if (externalRequest.Request.Agents != null && externalRequest.Request.Agents.Count > 0)
                {
                    Log(Logger.LogMessageType.Info, String.Format("Llamando a AgentRegistration.RegisterAgentBulk con un total de {0} Agentes, los detalles son: ", externalRequest.Request.Agents.Count), Logger.LoggingLevelType.Low);
                    int     counter = 1;
                    Boolean failed  = false;
                    foreach (RegisterAgentBulkItem agentInfo in externalRequest.Request.Agents)
                    {
                        Log(Logger.LogMessageType.Info, String.Format("Agente #{20}: Agent={0}, Name={1}, LegalName={2}, Address={3}, PhoneNumber={4}," +
                                                                      "ProvinceID={5}, CityID={6}, ContactName={7}, BirthDate={8}, Gender={9}, NationalIDType={10}, NationalID={11}, SMSAddress={12}, Email={13}, Referrer={14}," +
                                                                      "MNO1={15}, MNO2={16}, MNO3={17}, MNO4={18}, MNO5={19}", agentInfo.Agent, agentInfo.Name, agentInfo.LegalName, agentInfo.Address,
                                                                      agentInfo.PhoneNumber, agentInfo.ProvinceID, agentInfo.CityID, agentInfo.ContactName, agentInfo.BirthDate,
                                                                      agentInfo.Gender, agentInfo.NationalIDType, agentInfo.NationalID, agentInfo.SMSAddress, agentInfo.Email,
                                                                      agentInfo.Referrer, agentInfo.MNO1, agentInfo.MNO2, agentInfo.MNO3, agentInfo.MNO4, agentInfo.MNO5, counter)
                            , Logger.LoggingLevelType.Low);

                        RegisterAgentRequestInternal internalRequest = new RegisterAgentRequestInternal()
                        {
                            Address        = agentInfo.Address,
                            Agent          = agentInfo.Agent,
                            BirthDate      = agentInfo.BirthDate,
                            CityID         = agentInfo.CityID,
                            ContactName    = agentInfo.ContactName,
                            CountryID      = _countryID,
                            Email          = agentInfo.Email,
                            Gender         = (API.Service.Internal.Gender)agentInfo.Gender,
                            LegalName      = agentInfo.LegalName,
                            MNO1           = agentInfo.MNO1,
                            MNO2           = agentInfo.MNO2,
                            MNO3           = agentInfo.MNO3,
                            MNO4           = agentInfo.MNO4,
                            MNO5           = agentInfo.MNO5,
                            Name           = agentInfo.Name,
                            NationalID     = agentInfo.NationalID,
                            NationalIDType = agentInfo.NationalIDType,
                            PhoneNumber    = agentInfo.PhoneNumber,
                            ProvinceID     = agentInfo.ProvinceID,
                            Referrer       = agentInfo.Referrer,
                            SessionID      = externalRequest.Request.SessionID,
                            SMSAddress     = agentInfo.SMSAddress
                        };
                        // RP 20111018 - Nuevo parámetro para saber cuántos registros hubo en la llamada al Bulk
                        RegisterAgentResponseInternal internalResponse = RegisterAgentInternal(internalRequest, externalRequest.Request.Agents.Count);

                        if (internalResponse.ResponseCode != 0)
                        {
                            failed = true;
                        }
                        counter++;
                    }
                    RegisterAgentBulkResponseBody responseBody = new RegisterAgentBulkResponseBody()
                    {
                        ResponseCode    = 0,
                        ResponseMessage = "Su peticion ha sido procesada"
                    };
                    externalResponse          = new RegisterAgentBulkResponse();
                    externalResponse.Response = responseBody;
                    if (failed)
                    {
                        externalResponse.Response.ResponseCode    = 1;
                        externalResponse.Response.ResponseMessage = "Algunos de los registros en el archivo fallaron, por favor contacte a soporte";
                    }
                }
                else
                {
                    externalResponse = new RegisterAgentBulkResponse()
                    {
                        Response = new RegisterAgentBulkResponseBody()
                        {
                            ResponseCode    = 1,
                            ResponseMessage = "Su peticion falló por no contener agentes, por favor verifique los datos e intente de nuevo",
                            TransactionID   = 0
                        }
                    };
                }

                Log(Logger.LogMessageType.Info, String.Format("Parametros de respuesta de AgentRegistration.RegisterAgentBulk: ResponseCode={0}, ResponseMessage={1}, TransactionID={2}", externalResponse.Response.ResponseCode, externalResponse.Response.ResponseMessage, externalResponse.Response.TransactionID), Logger.LoggingLevelType.Low);
            }
            catch (Exception e)
            {
                Log(Logger.LogMessageType.Error, "Excepcion en el metodo AgentRegistration.RegisterAgentBulk: " + e.ToString(), Logger.LoggingLevelType.Low);
            }
            Log(Logger.LogMessageType.Info, "->   -------------------- Termina la ejecución del método Registration.RegisterAgentBulk", Logger.LoggingLevelType.Medium);
            return(externalResponse);
        }
Example #2
0
 public RegisterAgentBulkResponse RegisterAgentBulk(RegisterAgentBulkRequest request)
 {
     return(WrapResponse <RegisterAgentBulkResponse, RegisterAgentBulkResponseBody>(new ServiceExecutionDelegator <RegisterAgentBulkResponseBody, RegisterAgentBulkRequestBody>().ResolveRequest(request.Request,
                                                                                                                                                                                                 ApiTargetPlatform.Utiba, ApiServiceName.RegisterAgentBulk)));
 }