Esempio n. 1
0
        public Result PostRawMateria([FromBody] RawMateria rawMateria)
        {
            var createUserId = Request.GetIdentityInformation();
            var time         = DateTime.Now;
            var cnt          =
                ServerConfig.FlowCardDb.Query <int>("SELECT COUNT(1) FROM `raw_materia` WHERE RawMateriaName = @RawMateriaName AND MarkedDelete = 0;", new { rawMateria.RawMateriaName }).FirstOrDefault();

            if (cnt > 0)
            {
                return(Result.GenError <Result>(Error.RawMateriaIsExist));
            }

            rawMateria.CreateUserId   = createUserId;
            rawMateria.MarkedDateTime = time;
            var index = ServerConfig.FlowCardDb.Query <int>(
                "INSERT INTO raw_materia (`CreateUserId`, `MarkedDateTime`, `MarkedDelete`, `ModifyId`, `RawMateriaName`) " +
                "VALUES (@CreateUserId, @MarkedDateTime, @MarkedDelete, @ModifyId, @RawMateriaName);SELECT LAST_INSERT_ID();",
                rawMateria).FirstOrDefault();

            if (rawMateria.RawMateriaSpecifications.Any())
            {
                var rawMateriaRawMateriaSpecifications = rawMateria.RawMateriaSpecifications;
                foreach (var rawMateriaSpecification in rawMateriaRawMateriaSpecifications)
                {
                    rawMateriaSpecification.RawMateriaId   = index;
                    rawMateriaSpecification.CreateUserId   = createUserId;
                    rawMateriaSpecification.MarkedDateTime = time;
                }
                ServerConfig.FlowCardDb.Execute(
                    "INSERT INTO raw_materia_specification (`CreateUserId`, `MarkedDateTime`, `MarkedDelete`, `ModifyId`, `RawMateriaId`, `SpecificationName`, `SpecificationValue`) " +
                    "VALUES (@CreateUserId, @MarkedDateTime, @MarkedDelete, @ModifyId, @RawMateriaId, @SpecificationName, @SpecificationValue);",
                    rawMateriaRawMateriaSpecifications);
            }
            return(Result.GenError <Result>(Error.Success));
        }
Esempio n. 2
0
        public Result PutRawMateria([FromRoute] string rawMateriaName, [FromBody] RawMateria rawMateria)
        {
            var data =
                ServerConfig.FlowCardDb.Query <RawMateria>("SELECT `Id` FROM `raw_materia` WHERE RawMateriaName = @rawMateriaName AND MarkedDelete = 0;", new { rawMateriaName }).FirstOrDefault();

            if (data == null)
            {
                return(Result.GenError <Result>(Error.RawMateriaNotExist));
            }
            var cnt =
                ServerConfig.FlowCardDb.Query <int>("SELECT COUNT(1) FROM `raw_materia` WHERE RawMateriaName = @RawMateriaName AND MarkedDelete = 0;", new { rawMateria.RawMateriaName }).FirstOrDefault();

            if (cnt > 0)
            {
                if (!rawMateria.RawMateriaName.IsNullOrEmpty() && data.RawMateriaName != rawMateria.RawMateriaName)
                {
                    return(Result.GenError <Result>(Error.RawMateriaIsExist));
                }
            }
            rawMateria.Id             = data.Id;
            rawMateria.CreateUserId   = Request.GetIdentityInformation();
            rawMateria.MarkedDateTime = DateTime.Now;
            ServerConfig.FlowCardDb.Execute(
                "UPDATE raw_materia SET `CreateUserId` = @CreateUserId, `MarkedDateTime` = @MarkedDateTime, `MarkedDelete` = @MarkedDelete, " +
                "`ModifyId` = @ModifyId, `RawMateriaName` = @RawMateriaName WHERE `Id` = @Id;", rawMateria);

            return(Result.GenError <Result>(Error.Success));
        }
Esempio n. 3
0
        public Result PutRawMateria([FromRoute] int id, [FromBody] RawMateria rawMateria)
        {
            var data =
                ServerConfig.FlowCardDb.Query <RawMateria>("SELECT * FROM `raw_materia` WHERE Id = @id AND MarkedDelete = 0;", new { id }).FirstOrDefault();

            if (data == null)
            {
                return(Result.GenError <Result>(Error.RawMateriaNotExist));
            }

            var cnt =
                ServerConfig.FlowCardDb.Query <int>("SELECT COUNT(1) FROM `raw_materia` WHERE RawMateriaName = @RawMateriaName AND MarkedDelete = 0;", new { rawMateria.RawMateriaName }).FirstOrDefault();

            if (cnt > 0)
            {
                if (!rawMateria.RawMateriaName.IsNullOrEmpty() && data.RawMateriaName != rawMateria.RawMateriaName)
                {
                    return(Result.GenError <Result>(Error.RawMateriaIsExist));
                }
            }

            var createUserId = Request.GetIdentityInformation();
            var time         = DateTime.Now;

            rawMateria.Id             = id;
            rawMateria.CreateUserId   = createUserId;
            rawMateria.MarkedDateTime = time;
            ServerConfig.FlowCardDb.Execute(
                "UPDATE raw_materia SET `CreateUserId` = @CreateUserId, `MarkedDateTime` = @MarkedDateTime, `MarkedDelete` = @MarkedDelete, " +
                "`ModifyId` = @ModifyId, `RawMateriaName` = @RawMateriaName WHERE `Id` = @Id;", rawMateria);

            if (rawMateria.RawMateriaSpecifications.Any())
            {
                var rawMateriaSpecifications = rawMateria.RawMateriaSpecifications;
                foreach (var rawMateriaSpecification in rawMateriaSpecifications)
                {
                    rawMateriaSpecification.RawMateriaId   = id;
                    rawMateriaSpecification.CreateUserId   = createUserId;
                    rawMateriaSpecification.MarkedDateTime = time;
                }
                var existRawMateriaSpecifications = ServerConfig.FlowCardDb.Query <RawMateriaSpecification>("SELECT * FROM `raw_materia_specification` " +
                                                                                                            "WHERE MarkedDelete = 0 AND RawMateriaId = @RawMateriaId;", new { RawMateriaId = id });
                ServerConfig.FlowCardDb.Execute(
                    "INSERT INTO raw_materia_specification (`CreateUserId`, `MarkedDateTime`, `MarkedDelete`, `ModifyId`, `RawMateriaId`, `SpecificationName`, `SpecificationValue`) " +
                    "VALUES (@CreateUserId, @MarkedDateTime, @MarkedDelete, @ModifyId, @RawMateriaId, @SpecificationName, @SpecificationValue);",
                    rawMateriaSpecifications.Where(x => x.Id == 0));

                var updateRawMateriaSpecifications = rawMateriaSpecifications.Where(x => x.Id != 0 &&
                                                                                    existRawMateriaSpecifications.Any(y => y.Id == x.Id && (y.SpecificationName != x.SpecificationName || y.SpecificationValue != x.SpecificationValue))).ToList();
                updateRawMateriaSpecifications.AddRange(existRawMateriaSpecifications.Where(x => rawMateriaSpecifications.All(y => x.Id != y.Id)).Select(x =>
                {
                    x.MarkedDateTime = DateTime.Now;
                    x.MarkedDelete   = true;
                    return(x);
                }));

                ServerConfig.FlowCardDb.Execute(
                    "UPDATE raw_materia_specification SET `CreateUserId` = @CreateUserId, `MarkedDateTime` = @MarkedDateTime, `MarkedDelete` = @MarkedDelete, `ModifyId` = @ModifyId, " +
                    "`RawMateriaId` = @RawMateriaId, `SpecificationName` = @SpecificationName, `SpecificationValue` = @SpecificationValue WHERE `Id` = @Id;", updateRawMateriaSpecifications);
            }

            return(Result.GenError <Result>(Error.Success));
        }