Exemplo n.º 1
0
        public GenericApiResult Register(UserProfile userProfile)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            //if (ModelState.IsValid)
            //{
            // Attempt to register the user
            try
            {
                result.Id           = repo.Register(userProfile);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (MembershipCreateUserException e)
            {
                //ModelState.AddModelError("", "Unable to register");
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to register";
                result.ErrorLog     = e.ToString();
            }
            //}
            //else
            //{
            //    return "";
            //}
            return(result);
        }
Exemplo n.º 2
0
        public GenericApiResult LeaveGroup(UserGroupRequest userGroupRequest)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            try
            {
                string res = repo.LeaveGroup(userGroupRequest);
                if (res.CompareTo("SUCCESS") != 0)
                {
                    throw new Exception(res);
                }

                result.Id           = userGroupRequest.UserGroupId.ToString();
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to leave group.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 创建调用失败的回应
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="message"></param>
        /// <param name="code"></param>
        /// <returns></returns>
        public static JsonResult ToFailureJsonResult <T>(string message, int code = -1)
        {
            GenericApiResult <T> r = new GenericApiResult <T>()
            {
                success = false,
                message = message,
                code    = code
            };

            return(ToJsonResult(r));
        }
Exemplo n.º 4
0
        /// <summary>
        /// 创建成功回应
        /// </summary>
        /// <returns></returns>
        public static JsonResult ToSuccessJsonResult()
        {
            GenericApiResult <string> r = new GenericApiResult <string>()
            {
                success = true,
                message = "",
                code    = 0
            };

            return(ToJsonResult(r));
        }
Exemplo n.º 5
0
        /// <summary>
        /// 创建成功回应
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="o"></param>
        /// <returns></returns>

        public static JsonResult ToSuccessJsonResult <T>(T o)
        {
            GenericApiResult <T> r = new GenericApiResult <T>()
            {
                success = true,
                data    = o,
                message = "",
                code    = 0
            };

            return(ToJsonResult(r));
        }
Exemplo n.º 6
0
        public GenericApiResult RespondToInvite(EventRequest eventRequest)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            try
            {
                result.Status       = repo.RespondToInvite(eventRequest);
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to respond to event invite.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 7
0
        public GenericApiResult Post(UserLocation userLocation)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                result.Id           = repo.UploadUserLocation(userLocation);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = string.Empty;
                result.Status       = false;
                result.ErrorMessage = "location could not be saved";
                result.ErrorLog     = ex.Message;
            }
            return(result);
        }
Exemplo n.º 8
0
        public GenericApiResult GetEventsForUser(EventRequest eventRequest)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                result.ListOfEvents = repo.GetEvent(eventRequest);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = string.Empty;
                result.Status       = false;
                result.ErrorMessage = "no records found";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 9
0
        public GenericApiResult GetRegisteredContacts(ContactsRequest contactsRequest)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                result.ListOfRegisteredContacts = repo.GetRegisteredUsers(contactsRequest);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = string.Empty;
                result.Status       = false;
                result.ErrorMessage = "no records found";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 10
0
        public GenericApiResult Get(EventLocationRequest eventLocationRequest)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                result.ListOfUserLocation = repo.GeUserLocation(eventLocationRequest);
                result.Status             = true;
                result.ErrorMessage       = "";
            }
            catch (Exception ex)
            {
                result.ListOfUserLocation = new List <UserLocation>();
                result.Status             = false;
                result.ErrorMessage       = "no records or requestor not authenticated.";
                result.ErrorLog           = ex.Message;
            }
            return(result);
        }
Exemplo n.º 11
0
        public GenericApiResult SendSMSOTP(ContactsRequest contactRequest)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                MethodResult mr = repo.SendSMSOTP(contactRequest);
                result.Status       = mr.Status;
                result.ErrorMessage = mr.Message;
            }
            catch (Exception ex)
            {
                result.Id           = string.Empty;
                result.Status       = false;
                result.ErrorMessage = "sending SMS failed";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 12
0
        public GenericApiResult RemindContact(RemindRequest remindRequest)
        {
            GenericApiResult result = new GenericApiResult();

            try
            {
                MethodResult mr = repo.RemindContact(remindRequest);
                result.Status       = mr.Status;
                result.ErrorMessage = mr.Message;
            }
            catch (Exception ex)
            {
                result.Id           = string.Empty;
                result.Status       = false;
                result.ErrorMessage = "sending reminder failed";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 13
0
        public GenericApiResult Add(UserGroup userGroup)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            try
            {
                result.Id           = repo.AddUserGroup(userGroup).ToString();
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to create group.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 14
0
        public GenericApiResult LeaveEvent(EventRequest eventRequest)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            result.ListOfEvents = new List <Event>();
            try
            {
                repo.LeaveEvent(eventRequest);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to Leave event.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 15
0
        public GenericApiResult SaveFeedback(UserFeedback userFeedback)
        {
            GenericApiResult result;

            result = new GenericApiResult();

            try
            {
                repo.SaveFeedback(userFeedback);
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception e)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to Save feedback";
                result.ErrorLog     = e.ToString();
            }
            return(result);
        }
Exemplo n.º 16
0
        public GenericApiResult Delete(UserGroupRequest userGroupRequest)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            try
            {
                repo.DeleteGroup(userGroupRequest);
                result.Id           = userGroupRequest.UserGroupId.ToString();
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to delete group.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 17
0
        public GenericApiResult UpdateParticipants(Event evnt)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            result.ListOfEvents = new List <Event>();

            try
            {
                result.ListOfEvents.Add(repo.UpdateParticipants(evnt));
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to edit event.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 18
0
        public GenericApiResult CreateEvent(Event evnt)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            result.ListOfEvents = new List <Event>();
            evnt.RequestorId    = evnt.InitiatorId;
            try
            {
                result.ListOfEvents.Add(repo.CreateEvent(evnt));
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to create event.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 19
0
        public GenericApiResult UpdateEventLocation(EventRequest eventRequest)
        {
            GenericApiResult result;

            result = new GenericApiResult();
            result.ListOfEvents = new List <Event>();

            try
            {
                result.ListOfEvents.Add(repo.UpdateEventLocation(eventRequest));
                result.Id           = eventRequest.EventId;
                result.Status       = true;
                result.ErrorMessage = "";
            }
            catch (Exception ex)
            {
                result.Id           = "";
                result.Status       = false;
                result.ErrorMessage = "Unable to update event location.";
                result.ErrorLog     = ex.ToString();
            }
            return(result);
        }
Exemplo n.º 20
0
        /// <summary>
        /// Retorna los datos del Agente en la clase AgentEdit, con el fin de editar el agente
        /// Precondicion:
        /// -El agente existe en el sistema
        /// Postcondicion:
        /// Se Obtienen los datos del agente necesarios para la pantalla de edicion

        /// </summary>
        /// <param name="requestObject"></param>
        /// <param name="kinacuWS"></param>
        /// <param name="sessionID"></param>
        /// <returns>Retorna un IMovilwayApiResponse con los datos del Agente a editar</returns>
        public override IMovilwayApiResponse PerformKinacuOperation(IMovilwayApiRequest requestObject, SaleInterface kinacuWS, string sessionID)
        {
            GetAgentResponseBody response = new GetAgentResponseBody();

            if (sessionID.Equals("0"))
            {
                response.ResponseCode    = 90;
                response.ResponseMessage = "SESIÓN INVALIDA";
                return(response);
            }


            try
            {
                GetAgentRequestBody request  = requestObject as GetAgentRequestBody;
                RequestAgent        reqAgent = null;

                logger.InfoLow(() => TagValue.New().Message("[API] " + base.LOG_PREFIX + "[GetAgentEdit]").Tag("[SEND-DATA] GetAgentRequestParameters ").Value(request));

                /*
                 * dynamic data = new { AgeId = request.AgeId, Login = request.AuthenticationData.Username };
                 * if (!Utils.HaveRelationWithAgent(data))
                 * {
                 *  response.ResponseCode = 90;
                 *  response.ResponseMessage = "ERROR DE PERMISOS";
                 *  response.TransactionID = 0;
                 *  response.Errors = new ErrorItems() { new ErrorItem() { ErrorId = "90", ErrorDescription = "NO TIENE PERMISOS PARA EDITAR ESTE REGISTRO" } };
                 *
                 *  return response;
                 * }*/


                GenericApiResult <RequestAgent> result = Utils.GetAgentEditById(request.AgeId);

                //falta builder
                response.ResponseCode    = result.ResponseCode;
                response.ResponseMessage = result.ResponseMessage;

                if (result.IsObjectValidResult())
                {
                    reqAgent        = result.ObjectResult; //result["Obj_Result"] as RequestAgent;
                    response.Agente = new AgentEdit()
                    {
                        RIF                    = reqAgent.age_cuit,
                        AgentName              = reqAgent.age_nombre,
                        LegalName              = reqAgent.age_razonsocial,
                        Address                = reqAgent.age_direccion,
                        BetweenStreets         = reqAgent.age_entrecalles,
                        City                   = reqAgent.age_ciu_id.ToString(CultureInfo.InvariantCulture),
                        Province               = reqAgent.pro_id.ToString(CultureInfo.InvariantCulture),
                        Country                = reqAgent.pai_id.ToString(CultureInfo.InvariantCulture),
                        Phone                  = reqAgent.age_tel,
                        NumberIMEI             = reqAgent.age_cel,
                        Email                  = reqAgent.age_email,
                        ContactPerson          = reqAgent.age_contacto,
                        SubLevels              = reqAgent.age_subNiveles.ToString(CultureInfo.InvariantCulture),
                        Pdv                    = reqAgent.age_pdv,
                        CommissionableDeposits = reqAgent.age_comisionadeposito != null && reqAgent.age_comisionadeposito.Equals("S"), //? "S" : "N" ,
                        Commission             = reqAgent.age_montocomision,
                        Notes                  = reqAgent.age_observaciones,
                        //primer usuario
                        UserName1     = reqAgent.usr_nombre,
                        UserLastName1 = reqAgent.usr_apellido,
                        AccessLogin1  = reqAgent.acc_login,

                        //segundo acceso segundo usuario
                        //por defecto login es vacio
                        AccessLogin2 = reqAgent.second_acc_login,
                        //validacion pueden haber agentes con solo un acceso
                        AccessType2 = reqAgent.second_tac_id > 0 ? Utils.GetAccessName(Convert.ToInt32(reqAgent.second_tac_id)) : "",

                        //tercer acceso segundo usuario
                        AvailableSecondAccessSecondUser = reqAgent.av_sc_ac_secondUser,
                        AccessLogin3 = reqAgent.third_acc_login,


                        IsAdministrator2 = reqAgent.usr_administrador,
                        Group            = Convert.ToInt32(reqAgent.grpId),

                        //booleano que indica si tiene comision
                        SalesCommission = reqAgent.comisionporventa,
                        //productos comision
                        AgeId       = reqAgent.age_id,
                        TaxCategory = reqAgent.ct_id == 0 ? 1 : Convert.ToDecimal(reqAgent.ct_id),
                        SegmentId   = reqAgent.sa_id == 0 ? 1 : Convert.ToDecimal(reqAgent.sa_id)
                    };

                    //TODO ABOUT CHEK ALL PRODUCTS
                    //llamar a product lis GetProductListProvider (ApiServiceName.GetProductList)
                    //hacer la logica para saber si todos los productos estan chequeados o no

                    try
                    {
                        if (reqAgent.third_tac_id != 0)
                        {
                            response.Agente.AccessType3 = Utils.GetAccessName(Convert.ToInt32(reqAgent.third_tac_id));
                        }
                    }
                    catch (Exception ex)
                    {
                        logger.InfoLow(() => TagValue.New().Tag("ERROR OBTENIENDO NOMBRE DEL AGENTE").Exception(ex));
                    }

                    response.Agente.AutomaticAuthorization = Convert.ToBoolean(reqAgent.autorizacionAutomatica);
                    response.Agente.AutomaticReverse       = Convert.ToBoolean(reqAgent.quitaAutomatica);
                    response.Agente.AutomaticReposition    = Convert.ToBoolean(reqAgent.generacionAutomatica);
                    response.Agente.AsynchronousTopup      = Convert.ToBoolean(reqAgent.recargaAsincronica);

                    //evitar problemas con la cultura

                    response.Agente.CheckingAccountCreditLimit   = Convert.ToDecimal(reqAgent.limiteCredito);
                    response.Agente.MinimumOrderAmount           = Convert.ToDecimal(reqAgent.montoMinimoPorPedido);
                    response.Agente.MaximumOrderAmount           = Convert.ToDecimal(reqAgent.montoMaximoPorPedido);
                    response.Agente.MaximumMonthlyAmount         = Convert.ToDecimal(reqAgent.pedidoMaximoMensual);
                    response.Agente.MaximumAuthorizedDailyAmount = Convert.ToDecimal(reqAgent.autorizacionAutomaticaMontoDiario);

                    response.Agente.ProductsCommission = new List <ProductCommision>();


                    if (reqAgent.productos != null && reqAgent.productos.Count() > 0)
                    {
                        reqAgent.productos.ForEach(p => { response.Agente.ProductsCommission.Add(new ProductCommision()
                            {
                                ProductId = p.prdId, Commission = p.comision
                            }); });
                    }
                }
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = "ERROR INESPERADO OBTENIDO AGENTE " + ex.Message;

                logger.ErrorLow(String.Concat("[QRY] ", LOG_PREFIX, " ", response.ResponseCode, "-", response.ResponseMessage, ". Exception: ", ex.Message, ". ", ex.StackTrace));
            }


            return(response);
        }
Exemplo n.º 21
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            //throw new NotImplementedException();
            AddTrustedDeviceRequestBody  request  = (AddTrustedDeviceRequestBody)requestObject;
            AddTrustedDeviceResponseBody response = new AddTrustedDeviceResponseBody();

            try
            {
                if (request.DeviceType != (int)cons.ACCESS_POSWEB)
                {
                    response.ResponseCode    = 90;
                    response.ResponseMessage = "NO ESTA AUTORIZADO PARA ACCEDER A ESTE SERVICIO";//"ERROR INESPERADO";
                    response.TransactionID   = 0;
                    return(response);
                }

                //desnecriptar
                //String jsonString = request.InfoTokken;


                //int idUser = Utils.GetUserId(request.AuthenticationData.Username, cons.ACCESS_POSWEB);

                String jsonDecrypt = Cryptography.decrypt(request.InfoTokken);


                Dictionary <string, string> dictionary = Newtonsoft.Json.JsonConvert.DeserializeObject <Dictionary <string, string> >(jsonDecrypt);

                bool status = Convert.ToBoolean(dictionary["status"]);
                int  type   = Convert.ToInt32(dictionary["type"]);

                TrustedDevice device = new TrustedDevice()
                {
                    UserId       = request.AuthenticationData.Username,
                    Token        = dictionary["cookieMonster"],
                    Hash         = dictionary["hash"],
                    IdType       = type,
                    FriendlyName = dictionary["friendlyName"],
                    Description  = dictionary["description"],
                    Status       = status? cons.DEVICE_ACTIVE: cons.DEVICE_TEMPORAL,//cons.DEVICE_ACTIVE, //status? cons.DEVICE_ACTIVE: cons.DEVICE_TEMPORAL,
                    Secure       = status,
                    //IsActive = true,
                    DateActivated = DateTime.MinValue,
                    Model         = dictionary["model"],
                    OS            = dictionary["os"],
                    DateCreated   = DateTime.Now,
                    Ticks         = Convert.ToInt64(dictionary["ticks"])
                };



                if (!device.IsValid())
                {
                    response.ResponseCode    = 90;
                    response.ResponseMessage = "LOS DATOS DEL DISPOSITIVO ESTAN INCOMPLETOS";//"ERROR INESPERADO";
                    response.TransactionID   = 0;
                    //
                    return(response);
                }


                GenericApiResult <bool> result = Utils.AddTrustedDeviceNuevo(device);


                response.ResponseCode    = result.ResponseCode;
                response.ResponseMessage = result.ResponseMessage;
                response.Result          = result.ObjectResult;
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//"ERROR INESPERADO";
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, " [AddTrustedDeviceProvider]  [", ex.GetType().FullName, "] . Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }
Exemplo n.º 22
0
        public override DataContract.Common.IMovilwayApiResponse PerformKinacuOperation(DataContract.Common.IMovilwayApiRequest requestObject, KinacuWebService.SaleInterface kinacuWS, string sessionID)
        {
            // throw new NotImplementedException();
            ValidateDeviceRequestBody  request  = (ValidateDeviceRequestBody)requestObject;
            ValidateDeviceResponseBody response = new ValidateDeviceResponseBody();

            response.LastVersion = "";

            try
            {
                // int idUser = Utils.GetUserId(request.AuthenticationData.Username, cons.ACCESS_POSWEB);


                GenericApiResult <TrustedDevice> device = Utils.GetDeviceByKey(request.TokenToValidate, requestObject.AuthenticationData.Username);


                if (device.IsObjectValidResult())
                {
                    GenericApiResult <bool> result = Utils.IsActiveDevice(device.ObjectResult); //Utils.ValidateDevice(request.TokenToValidate, idUser);

                    response.IsValid         = result.ObjectResult;
                    response.ResponseCode    = result.ResponseCode;
                    response.ResponseMessage = result.ResponseMessage;//"ERROR INESPERADO";

                    /// SE CAMBIO A A ESTADO SI NO ES ACTIVO Y SI ES TEMPORAL
                    if (!result.ObjectResult && device.ObjectResult.Status == cons.DEVICE_TEMPORAL)
                    {
                        //CAMBIAR A SERVICE EXCUTE DELEGATOR
                        string ERROR = "[NO SE PUDO CAMBIAR ESTADO A DISPOSITIVO TEMPORAL]";
                        try
                        {
                            //SE CAMBIA EL ESTADO BORRANDO
                            device.ObjectResult.Status = cons.DEVICE_DELETE;
                            if (!
                                Utils.SetStatusDevice(device.ObjectResult)//;
                                )
                            {
                                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ERROR);
                                logger.InfoLow(mensaje);
                            }
                        }
                        catch (Exception ex)
                        {
                            string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ERROR, ". Exception: ", ex.Message, ". ", ex.StackTrace);
                            logger.ErrorLow(mensaje);
                            response.ResponseMessage = String.Concat(response.ResponseMessage, " ", ERROR);
                        }
                    }



                    if (device.ObjectResult.IdType != cons.DEVICE_TYPE_WEB)
                    {
                        response.LastVersion = System.Configuration.ConfigurationManager.AppSettings[String.Concat("VERSION_APP_", device.ObjectResult.IdType)] ?? System.Configuration.ConfigurationManager.AppSettings["VERSION_APP"] ?? "0";
                    }
                }
                else
                {
                    // RESPONSE CODE


                    response.ResponseCode    = 100;
                    response.ResponseMessage = device.ResponseMessage; //"ERROR INESPERADO";
                                                                       // response.LastVersion =   System.Configuration.ConfigurationManager.AppSettings["VERSION_APP"] ?? "0";
                }
            }
            catch (Exception ex)
            {
                response.ResponseCode    = 500;
                response.ResponseMessage = ex.Message;//"ERROR INESPERADO";
                response.TransactionID   = 0;

                string mensaje = String.Concat("[API] ", base.LOG_PREFIX, "[ValidateDeviceProvider] ", ". Exception: ", ex.Message, ". ", ex.StackTrace);
                logger.ErrorLow(mensaje);
            }
            return(response);
        }