public async System.Threading.Tasks.Task <IHttpActionResult> PostEntradasAsync()
        {
            if (!Request.Content.IsMimeMultipartContent())
            {
                throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
            }
            string root     = HttpContext.Current.Server.MapPath("~/App_Data");
            var    provider = new MultipartFormDataStreamProvider(root);

            try
            {
                // Read the form data.
                await Request.Content.ReadAsMultipartAsync(provider);

                // This illustrates how to get the file names.

                int         usuarioId    = int.Parse(provider.FormData.Get("userId"));
                List <char> cargasIdForm = provider.FormData.Get("cargasId").ToList();

                List <int> cargasId = new List <int>();
                foreach (var number in cargasIdForm)// char in cargasIdForm
                {
                    int  cargaId;
                    bool result = Int32.TryParse(number.ToString(), out cargaId);
                    if (result)
                    {
                        cargasId.Add(cargaId);
                    }
                }

                EntradaDto entradaDto = new EntradaDto();
                var        cargas     = _entradasRepository.GetListOfCargasInEntrada(cargasId);
                entradaDto.UsuarioId = usuarioId;
                entradaDto.Cargas    = cargas;
                entradaDto.Turno     = (DateTimeService.GetTimeNow() < new TimeSpan(12, 0, 0)) ? Turno.Matutino : Turno.Vespertino;

                var entradaModel = entradaDto.ToModel();

                _entradasRepository.Add(entradaModel);

                entradaDto.Id = entradaModel.Id;

                return(Created(
                           Url.Link("DefaultApi", new { controller = "Entradas", id = entradaDto.Id }),
                           entradaModel
                           ));
            }
            catch (System.Exception e)
            {
                return(InternalServerError());
            }
        }
 public Entrada ToModel()
 {
     return(new Entrada()
     {
         Id = Id,
         Folio = FolioService.GenerateFolio(),
         Fecha = DateTime.Parse(DateTimeService.GetDateNowShortString()),
         Hora = DateTimeService.GetTimeNow(),
         Turno = Turno.Value,
         UsuarioId = UsuarioId.Value,
         Cargas = Cargas
     });
 }
        public IHttpActionResult Post(EntradaDto entradaDto)
        {
            var cargas = _entradasRepository.GetListOfCargasInEntrada(entradaDto.CargasId);

            entradaDto.Cargas = cargas;
            entradaDto.Turno  = (DateTimeService.GetTimeNow() < new TimeSpan(12, 0, 0)) ? Turno.Matutino : Turno.Vespertino;

            var entradaModel = entradaDto.ToModel();

            _entradasRepository.Add(entradaModel);

            entradaDto.Id = entradaModel.Id;

            return(Created(
                       Url.Link("DefaultApi", new { controller = "Entradas", id = entradaDto.Id }),
                       entradaModel
                       ));
        }