Esempio n. 1
0
        public string GuardarControlComponenteElectronico(Dom_Control_Componente_Electronico_InsercionDTO data)
        {
            data.UsuarioCreador = Session["Usuario"].ToString();

            var request = new RestRequest("Dom_Control_Componente_Electronico", Method.POST);

            request.RequestFormat = DataFormat.Json;
            request.AddHeader("Content-type", "application/json");
            request.AddJsonBody(data);

            var response = client.Execute <object>(request);

            return(JsonConvert.SerializeObject(response, Formatting.Indented, settings));
        }
        public async Task <IHttpActionResult> GuardarControlComponenteElectronico(Dom_Control_Componente_Electronico_InsercionDTO dom_Control_Componente_ElectronicoI)
        {
            Mapper.Initialize(cfg => cfg.CreateMap <Dom_Control_Componente_Electronico_InsercionDTO, Dom_Control_Componente_Electronico>());

            Dom_Control_Componente_Electronico dom_Control_Componente_Electronico = Mapper.Map <Dom_Control_Componente_Electronico>(dom_Control_Componente_ElectronicoI);

            dom_Control_Componente_Electronico.FechaCreacion = DateTime.Now;
            dom_Control_Componente_Electronico.Estado        = true;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            List <Dom_Control_Componente_Electronico> controles = db.Dom_Control_Componente_Electronico.Where(X => X.IdDomComponenteElectronico == dom_Control_Componente_Electronico.IdDomComponenteElectronico).ToList();

            foreach (Dom_Control_Componente_Electronico control in controles)
            {
                if (control.IdDomTipoControlComponenteElectronico != dom_Control_Componente_ElectronicoI.IdDomTipoControlComponenteElectronico)
                {
                    return(Content(HttpStatusCode.BadRequest, "Todos los controles deben ser del mismo tipo."));
                }

                //HORA
                if (control.IdDomTipoControlComponenteElectronico == 3)
                {
                    if ((Convert.ToDateTime(control.Inicio) <= Convert.ToDateTime(dom_Control_Componente_ElectronicoI.Inicio) && Convert.ToDateTime(control.Fin) > Convert.ToDateTime(dom_Control_Componente_ElectronicoI.Inicio)) || (Convert.ToDateTime(control.Inicio) < Convert.ToDateTime(dom_Control_Componente_ElectronicoI.Fin) && Convert.ToDateTime(control.Fin) >= Convert.ToDateTime(dom_Control_Componente_ElectronicoI.Fin)))
                    {
                        return(Content(HttpStatusCode.BadRequest, "No pueden haber cruces de horario."));
                    }
                }
                //RESTO
                else if (control.IdDomTipoControlComponenteElectronico == 2 || control.IdDomTipoControlComponenteElectronico == 1)
                {
                    if ((Double.Parse(control.Inicio) >= Double.Parse(dom_Control_Componente_ElectronicoI.Inicio) && Double.Parse(control.Fin) < Double.Parse(dom_Control_Componente_ElectronicoI.Inicio)) || (Double.Parse(control.Inicio) > Double.Parse(dom_Control_Componente_ElectronicoI.Fin) && Double.Parse(control.Fin) <= Double.Parse(dom_Control_Componente_ElectronicoI.Fin)))
                    {
                        return(Content(HttpStatusCode.BadRequest, "No pueden haber cruces de límites."));
                    }
                }
            }

            db.Dom_Control_Componente_Electronico.Add(dom_Control_Componente_Electronico);
            await db.SaveChangesAsync();

            //return CreatedAtRoute("DefaultApi", new { id = dom_Componente_Electronico.IdDomComponenteElectronico }, dom_Componente_Electronico);
            return(Ok(BuscarControlComponenteElectronicoXComponenteElectronico(dom_Control_Componente_Electronico.IdDomControlComponenteElectronico)));
        }