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))); }