public IHttpActionResult PutMaterialSpecification(int id, MaterialSpecification materialSpecification)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != materialSpecification.MaterialSpecificationId)
            {
                return(BadRequest());
            }

            db.Entry(materialSpecification).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!MaterialSpecificationExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Esempio n. 2
0
        private Specification <Material> ObterTipoTabelaSpecification(Specification <Material> specification, string codigoCentroCusto)
        {
            var centroCusto = centroCustoRepository.ObterPeloCodigo(codigoCentroCusto);

            if (centroCusto != null)
            {
                var tipoTabela = centroCusto.TipoTabela.HasValue ? (TipoTabela)centroCusto.TipoTabela.Value : TipoTabela.Propria;
                int?anoMes     = centroCusto.AnoMes;

                if (tipoTabela != TipoTabela.Propria)
                {
                    specification &= (MaterialSpecification.EhTipoTabela(TipoTabela.Propria) ||
                                      (MaterialSpecification.EhTipoTabela(tipoTabela) &&
                                       MaterialSpecification.MatchingAnoMes(anoMes)));
                }
                else
                {
                    specification &= MaterialSpecification.EhTipoTabela(tipoTabela);
                }
            }
            else
            {
                specification &= MaterialSpecification.EhTipoTabela(TipoTabela.Propria);
            }

            return(specification);
        }
Esempio n. 3
0
        public IHttpActionResult AddMaterial(JObject jsonBody)
        {
            JObject specifications = (JObject)jsonBody["SpecificationsInMaterial"]; // this variable must be present in the javascript

            jsonBody.Remove("SpecificationsInMaterial");

            Material material = jsonBody.ToObject <Material>(); // the job card object

            db.Materials.Add(material);

            db.SaveChanges();                     // save the shit

            int materialId = material.MaterialId; // the foregin key to be used for the -> material in job Cards

            JEnumerable <JToken> tokens = (JEnumerable <JToken>)specifications.Children <JToken>();
            int i = 1;// to control the interation

            foreach (JToken token in tokens)
            {
                JToken specificationJson = token.Children().First();
                MaterialSpecification specificationInstance = specificationJson.ToObject <MaterialSpecification>();
                specificationInstance.MaterialId = materialId;
                db.MaterialSpecifications.Add(specificationInstance);
                i++;
            }
            db.SaveChanges();
            return(Ok(materialId));
        }
Esempio n. 4
0
        public ActionResult DeleteConfirmed(Guid id)
        {
            MaterialSpecification materialSpecification = db.MaterialSpecifications.Find(id);

            db.MaterialSpecifications.Remove(materialSpecification);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Esempio n. 5
0
 public ActionResult Edit([Bind(Include = "Id,Specification")] MaterialSpecification materialSpecification)
 {
     if (ModelState.IsValid)
     {
         db.Entry(materialSpecification).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(materialSpecification));
 }
        public IHttpActionResult GetMaterialSpecification(int id)
        {
            MaterialSpecification materialSpecification = db.MaterialSpecifications.Find(id);

            if (materialSpecification == null)
            {
                return(NotFound());
            }

            return(Ok(materialSpecification));
        }
Esempio n. 7
0
        public List <MaterialDTO> ListarAtivosPeloCentroCustoEDescricao(string codigoCentroCusto, string descricao)
        {
            var specification = (Specification <Material>) new TrueSpecification <Material>();

            specification &= MaterialSpecification.DescricaoContem(descricao);
            specification &= MaterialSpecification.EhAtivo();

            specification &= ObterTipoTabelaSpecification(specification, codigoCentroCusto);

            return(materialRepository.ListarPeloFiltro(specification).To <List <MaterialDTO> >());
        }
        public IHttpActionResult PostMaterialSpecification(MaterialSpecification materialSpecification)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.MaterialSpecifications.Add(materialSpecification);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = materialSpecification.MaterialSpecificationId }, materialSpecification));
        }
Esempio n. 9
0
        public ActionResult Create([Bind(Include = "Id,Specification")] MaterialSpecification materialSpecification)
        {
            if (ModelState.IsValid)
            {
                materialSpecification.Id = Guid.NewGuid();
                db.MaterialSpecifications.Add(materialSpecification);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(materialSpecification));
        }
        public IHttpActionResult DeleteMaterialSpecification(int id)
        {
            MaterialSpecification materialSpecification = db.MaterialSpecifications.Find(id);

            if (materialSpecification == null)
            {
                return(NotFound());
            }

            db.MaterialSpecifications.Remove(materialSpecification);
            db.SaveChanges();

            return(Ok(materialSpecification));
        }
Esempio n. 11
0
        // GET: Commerce/MaterialSpecifications/Delete/5
        public ActionResult Delete(Guid?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            MaterialSpecification materialSpecification = db.MaterialSpecifications.Find(id);

            if (materialSpecification == null)
            {
                return(HttpNotFound());
            }
            return(View(materialSpecification));
        }
Esempio n. 12
0
        public List <MaterialDTO> PesquisarAtivosPeloFiltro(MaterialPesquisaFiltro filtro, out int totalRegistros)
        {
            var specification = (Specification <Material>) new TrueSpecification <Material>();

            specification &= MaterialSpecification.EhAtivo();
            specification &= ObterTipoTabelaSpecification(specification, filtro.CodigoCentroCusto);

            bool EhTipoSelecaoContem = filtro.TipoSelecao == TipoPesquisa.Contem;

            switch (filtro.Campo)
            {
            case "unidadeMedida":
                specification &= EhTipoSelecaoContem ? MaterialSpecification.UnidadeMedidaContem(filtro.TextoInicio)
                        : MaterialSpecification.UnidadeMedidaNoIntervalo(filtro.TextoInicio, filtro.TextoFim);
                break;

            case "id":
                int?inicio = !string.IsNullOrEmpty(filtro.TextoInicio) ? Convert.ToInt32(filtro.TextoInicio) : (int?)null;
                int?fim    = !string.IsNullOrEmpty(filtro.TextoFim) ? Convert.ToInt32(filtro.TextoFim) : (int?)null;
                specification &= EhTipoSelecaoContem ? MaterialSpecification.MatchingId(inicio)
                        : MaterialSpecification.IdNoIntervalo(inicio, fim);
                break;

            case "classeInsumo":
                specification &= EhTipoSelecaoContem ? MaterialSpecification.ClasseInsumoContem(filtro.TextoInicio)
                        : MaterialSpecification.ClasseInsumoNoIntervalo(filtro.TextoInicio, filtro.TextoFim);
                break;

            case "codigoExterno":
                specification &= EhTipoSelecaoContem ? MaterialSpecification.CodigoExternoContem(filtro.TextoInicio)
                        : MaterialSpecification.CodigoExternoNoIntervalo(filtro.TextoInicio, filtro.TextoFim);
                break;

            case "descricao":
            default:
                specification &= EhTipoSelecaoContem ? MaterialSpecification.DescricaoContem(filtro.TextoInicio)
                        : MaterialSpecification.DescricaoNoIntervalo(filtro.TextoInicio, filtro.TextoFim);
                break;
            }

            return(materialRepository.Pesquisar(
                       specification,
                       filtro.PageIndex,
                       filtro.PageSize,
                       filtro.OrderBy,
                       filtro.Ascending,
                       out totalRegistros).To <List <MaterialDTO> >());
        }