Пример #1
0
        public IActionResult DeleteKPA(int kpaId)
        {
            if (kpaId == 0)
            {
                return(BadRequest("Something bad happened. Make sure KPA is selected"));
            }

            try
            {
                KeyProcessArea keyProcessArea = _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == kpaId);

                if (keyProcessArea == null)
                {
                    return(BadRequest("KPA does not exists!"));
                }

                _context.Targets.RemoveRange(_context.Targets.Where(id => id.KeyProcessAreaId == kpaId).ToList());

                _context.Productions.RemoveRange(_context.Productions.Where(id => id.KeyProcessAreaId == kpaId).ToList());

                _context.KeyProcessAreas.Remove(keyProcessArea);

                _context.SaveChanges();

                return(Ok());
            }
            catch (Exception Ex)
            {
                return(BadRequest("Something bad happened!" + Ex.Message));
            }
        }
Пример #2
0
        public IActionResult UpdateKPA([FromBody] KPAUpdate kpa)
        {
            if (kpa == null)
            {
                return(BadRequest("Error, make sure KPA update form is filled correctly."));
            }

            KeyProcessArea k = _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == kpa.KeyProcessAreaId);

            try
            {
                k.KeyProcessAreaName = kpa.KeyProcessAreaName;
                k.Color                = kpa.Color;
                k.BackgroundColor      = kpa.BackgroundColor;
                k.KeyProcessAreaTypeId = kpa.KeyProcessAreaTypeId;

                _context.Frequencies.Remove(_context.Frequencies.FirstOrDefault(id => id.KeyProcessAreaId == kpa.KeyProcessAreaId));
                _context.SaveChanges();
                _context.KeyProcessAreas.Update(k);

                Frequency frequency = new Frequency();
                frequency.FrequencyName    = kpa.Frequency;
                frequency.KeyProcessAreaId = kpa.KeyProcessAreaId;

                _context.Frequencies.Add(frequency);
                _context.SaveChanges();

                return(Ok());
            }
            catch (Exception Ex)
            {
                return(BadRequest("Something bad happened. " + Ex.Message));
            }
        }
Пример #3
0
        public IActionResult SaveKpa([FromBody] Target model)
        {
            if (model == null)
            {
                return(BadRequest("Error, make sure KPA target form is filled correctly."));
            }

            try
            {
                if (model.TargetId == 0)
                {
                    Process process = _context.Processes.FirstOrDefault(id => id.ProcessId == _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == model.KeyProcessAreaId).ProcessId);

                    model.DateStamp = DateTime.Now;
                    model.Month     = process.ProcessDate.Month;
                    model.Year      = process.ProcessDate.Year;

                    _context.Targets.Add(model);
                    _context.SaveChanges();

                    KeyProcessArea keyProcessArea = _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == model.KeyProcessAreaId);
                    keyProcessArea.IsTargetSet = true;
                    _context.KeyProcessAreas.Update(keyProcessArea);
                    _context.SaveChanges();
                }
                else
                {
                    Target target = _context.Targets.FirstOrDefault(id => id.TargetId == model.TargetId);
                    target.TargetValue = model.TargetValue;
                    target.Budget      = model.Budget;
                    target.Threshold   = model.Threshold;

                    _context.Targets.Update(target);
                    _context.SaveChanges();
                }



                return(Ok());
            }
            catch (Exception Ex)
            {
                return(BadRequest("Something bad happened. " + Ex.Message));
            }
        }
Пример #4
0
        public IActionResult GetKPATarget([FromBody] KPATargetVM kPATargetVM)
        {
            if (kPATargetVM == null)
            {
                return(BadRequest("Error, make sure KPA is selected correctly."));
            }

            try
            {
                KeyProcessArea keyProcessArea = _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == kPATargetVM.KeyProcessAreaId);
                DateTime       processDate    = _context.Processes.FirstOrDefault(id => id.ProcessId == keyProcessArea.ProcessId).ProcessDate;

                Target target = _context.Targets.FirstOrDefault(id => (id.KeyProcessAreaId == kPATargetVM.KeyProcessAreaId) &&
                                                                (id.Year == processDate.Year) && (id.Month == processDate.Month));

                return(Ok(target));
            }
            catch (Exception Ex)
            {
                return(BadRequest("Something bad happened. " + Ex.Message));
            }
        }
Пример #5
0
        public IActionResult SaveKpa([FromBody] KeyProcessAreaVM model)
        {
            if (model == null)
            {
                return(BadRequest("Error, make sure KPA form is filled correctly."));
            }

            Process process = _context.Processes.FirstOrDefault(id => id.ProcessId == model.ProcessId);

            model.ProcessDate = process.ProcessDate;

            KeyProcessArea kpaChecker = _context.KeyProcessAreas.FirstOrDefault(id =>
                                                                                (id.AssetNodeId == model.AssetNodeId) && (id.KeyProcessAreaName == model.KeyProcessAreaName) &&
                                                                                (id.ProcessId == model.ProcessId) && (id.KPADate.Year == model.ProcessDate.Year) &&
                                                                                (id.KPADate.Month == model.ProcessDate.Month));

            if (kpaChecker != null)
            {
                return(BadRequest("Error, There is already an existing KPA for the month" + model.ProcessDate.Year + "-" + model.ProcessDate.Year + ". Choose a different name or edit the existing one."));
            }

            try
            {
                KeyProcessArea keyProcessArea = new KeyProcessArea();
                keyProcessArea.KeyProcessAreaName   = model.KeyProcessAreaName;
                keyProcessArea.KeyProcessAreaTypeId = model.KeyProcessAreaTypeId;
                keyProcessArea.AssetNodeId          = model.AssetNodeId;
                keyProcessArea.ProcessId            = model.ProcessId;
                keyProcessArea.Color           = model.Color;
                keyProcessArea.BackgroundColor = model.BackgroundColor;
                keyProcessArea.KPADate         = model.ProcessDate;
                keyProcessArea.Reference       = model.Reference;

                _context.KeyProcessAreas.Add(keyProcessArea);
                _context.SaveChanges();

                Frequency frequency = new Frequency();
                frequency.FrequencyName    = model.Frequency;
                frequency.KeyProcessAreaId = keyProcessArea.KeyProcessAreaId;
                _context.Add(frequency);
                _context.SaveChanges();

                List <DateTime> dateTimes = getAllDates(model.ProcessDate.Year, model.ProcessDate.Month);

                List <Production> productions = new List <Production>();

                foreach (var date in dateTimes)
                {
                    Production production = new Production();
                    production.AssetNodeId      = model.AssetNodeId;
                    production.KeyProcessAreaId = keyProcessArea.KeyProcessAreaId;
                    production.KeyProcessArea   = _context.KeyProcessAreas.FirstOrDefault(id => id.KeyProcessAreaId == keyProcessArea.KeyProcessAreaId);
                    production.Month            = date.Month;
                    production.Year             = date.Year;
                    production.Day       = date.Day;
                    production.Reference = model.Reference;
                    production.Value     = 0;
                    production.DateStamp = DateTime.Now;
                    productions.Add(production);
                }

                _context.Productions.AddRange(productions);
                _context.SaveChanges();

                return(Ok());
            }
            catch (Exception Ex)
            {
                return(BadRequest("Something bad happened. " + Ex.Message));
            }
        }