Example #1
0
        public HttpResponseMessage PostExtension(SolicitudContactoModel solicitudcontacto)
        {
            try {
                if (ModelState.IsValid)
                {
                    if (solicitudcontacto.Id == 0)
                    {
                        var command = AutoMapper.Mapper.Map <SolicitudContactoModel, CreateOrUpdateSolicitudContactoCommand>(solicitudcontacto);
                        var result  = commandBus.Submit(command);
                        if (result.Success)
                        {
                            solicitudcontacto = AutoMapper.Mapper.Map <CreateOrUpdateSolicitudContactoCommand, SolicitudContactoModel>(command);

                            string _contenido = ConfigurationManager.AppSettings["SolicitudContacto_Contenido"];
                            _contenido = _contenido.Replace("%%SolicitudContacto.Id%%", solicitudcontacto.Id.ToString());
                            _contenido = _contenido.Replace("%%SolicitudContacto.Nombre%%", solicitudcontacto.Nombre);
                            _contenido = _contenido.Replace("%%SolicitudContacto.CorreoElectronico%%", solicitudcontacto.CorreoElectronico);
                            _contenido = _contenido.Replace("%%SolicitudContacto.Asunto%%", solicitudcontacto.Asunto);
                            _contenido = _contenido.Replace("%%SolicitudContacto.Contenido%%", solicitudcontacto.Contenido);
                            Mailing.EnviarEmailAccion(ConfigurationManager.AppSettings["SolicitudContacto_De"], ConfigurationManager.AppSettings["SolicitudContacto_Para"], ConfigurationManager.AppSettings["SolicitudContacto_Asunto"], _contenido, null);

                            var    response = Request.CreateResponse <SolicitudContactoModel>(HttpStatusCode.Created, solicitudcontacto);
                            string uri      = Url.Route(null, new { Id = solicitudcontacto.Id });
                            response.Headers.Location = new Uri(Request.RequestUri, uri);
                            return(response);
                        }
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest, "No se puede insertar el registro porque ya existe otro con la misma clave. Por favor, revísela."));
                    }
                }
                else
                {
                    var errors = new Dictionary <string, IEnumerable <string> >();
                    foreach (var keyValue in ModelState)
                    {
                        errors[keyValue.Key] = keyValue.Value.Errors.Select(e => (!string.IsNullOrWhiteSpace(e.ErrorMessage) ? e.ErrorMessage : (e.Exception != null ? e.Exception.Message : string.Empty)));
                    }
                    return(Request.CreateResponse(HttpStatusCode.BadRequest, errors));
                }
                throw new HttpResponseException(HttpStatusCode.BadRequest);
            } catch (Exception _excepcion) {
                log.Error(_excepcion);
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, _excepcion));
            }
        }
Example #2
0
 public HttpResponseMessage Post(SolicitudContactoModel solicitudcontacto)
 {
     try {
         if (ModelState.IsValid)
         {
             if (solicitudcontacto.Id == 0)
             {
                 var command = AutoMapper.Mapper.Map <SolicitudContactoModel, CreateOrUpdateSolicitudContactoCommand>(solicitudcontacto);
                 var result  = commandBus.Submit(command);
                 if (result.Success)
                 {
                     solicitudcontacto = AutoMapper.Mapper.Map <CreateOrUpdateSolicitudContactoCommand, SolicitudContactoModel>(command);
                     var    response = Request.CreateResponse <SolicitudContactoModel>(HttpStatusCode.Created, solicitudcontacto);
                     string uri      = Url.Route(null, new { Id = solicitudcontacto.Id });
                     response.Headers.Location = new Uri(Request.RequestUri, uri);
                     return(response);
                 }
             }
             else
             {
                 return(Request.CreateResponse(HttpStatusCode.BadRequest, "No se puede insertar el registro porque ya existe otro con la misma clave. Por favor, revísela."));
             }
         }
         else
         {
             var errors = new Dictionary <string, IEnumerable <string> >();
             foreach (var keyValue in ModelState)
             {
                 errors[keyValue.Key] = keyValue.Value.Errors.Select(e => (!string.IsNullOrWhiteSpace(e.ErrorMessage) ? e.ErrorMessage : (e.Exception != null ? e.Exception.Message : string.Empty)));
             }
             return(Request.CreateResponse(HttpStatusCode.BadRequest, errors));
         }
         throw new HttpResponseException(HttpStatusCode.BadRequest);
     } catch (Exception _excepcion) {
         log.Error(_excepcion);
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, _excepcion));
     }
 }
Example #3
0
 public HttpResponseMessage Put(int Id, SolicitudContactoModel solicitudcontacto)
 {
     try {
         if (ModelState.IsValid)
         {
             var command = AutoMapper.Mapper.Map <SolicitudContactoModel, CreateOrUpdateSolicitudContactoCommand>(solicitudcontacto);
             var result  = commandBus.Submit(command);
             return(Request.CreateResponse <SolicitudContactoModel>(HttpStatusCode.OK, solicitudcontacto));
         }
         else
         {
             var errors = new Dictionary <string, IEnumerable <string> >();
             foreach (var keyValue in ModelState)
             {
                 errors[keyValue.Key] = keyValue.Value.Errors.Select(e => (!string.IsNullOrWhiteSpace(e.ErrorMessage) ? e.ErrorMessage : (e.Exception != null ? e.Exception.Message : string.Empty)));
             }
             return(Request.CreateResponse(HttpStatusCode.BadRequest, errors));
         }
         throw new HttpResponseException(HttpStatusCode.BadRequest);
     } catch (Exception _excepcion) {
         log.Error(_excepcion);
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, _excepcion));
     }
 }