public bool RecordAcrion(InventoryActionParam Param) { BLL.Core.Domain.Component LogicalComponent = new Component(_context, Param.ComponentId); if (LogicalComponent.Id == 0) { _message = "Component Not Found!"; return(false); } var user = new BLL.Core.Domain.TTDevUser(new DAL.SharedContext(), Param.userId).getUCUser(); if (user == null) { _message = "User Not Found!"; return(false); } var actions = _context.ACTION_TAKEN_HISTORY.Where(m => m.equnit_auto == Param.ComponentId && m.recordStatus == 0 && (m.action_type_auto == (int)ActionType.TurnPinsAndBushingsLink || m.action_type_auto == (int)ActionType.TurnPinsAndBushingsBush)); if (actions.Count() > 0) { _message = "This component has already been tunred!"; return(false); } DAL.ACTION_TAKEN_HISTORY record = new DAL.ACTION_TAKEN_HISTORY { action_type_auto = (int)ActionType.TurnPinsAndBushingsLink, comment = Param.Comment, compartid_auto = LogicalComponent.DALComponent.compartid_auto, cost = (long)Param.Cost, event_date = Param.ActionDate, entry_date = DateTime.Now, entry_user_auto = Param.userId, equnit_auto = Param.ComponentId, recordStatus = 0, system_auto_id = LogicalComponent.DALComponent.module_ucsub_auto }; _context.ACTION_TAKEN_HISTORY.Add(record); try { _context.SaveChanges(); _message = "Action recorded sucessfully!"; return(true); } catch (Exception ex) { _message = "Recording Action Failed! Please check Log for details"; _actionLog += ex.Message; if (ex.InnerException != null) { _actionLog += ex.InnerException.Message; } return(false); } }
public bool RecordAcrion(InventoryActionParam Param) { BLL.Core.Domain.Component LogicalComponent = new Component(_context, Param.ComponentId); if (LogicalComponent.Id == 0) { _message = "Component Not Found!"; return(false); } var user = new BLL.Core.Domain.TTDevUser(new DAL.SharedContext(), Param.userId).getUCUser(); if (user == null) { _message = "User Not Found!"; return(false); } _actionLog += "Repalce childs first" + Environment.NewLine; if (!LogicalComponent.isAChildBasedOnCompart() && ReplaceChildsFirst(new InventoryActionParam { ActionDate = Param.ActionDate, BudgetLife = Param.BudgetLife, CMU = Param.CMU, Comment = Param.Comment, ComponentId = Param.ComponentId, Cost = Param.Cost, NewCompartId = Param.NewCompartId, userId = Param.userId })) { _actionLog += "Repalce childs returned true" + Environment.NewLine; } else { _actionLog += "Warning!! Repalce childs returned false!" + Environment.NewLine; } _actionLog += "Adding New Component ..." + Environment.NewLine; var LogicalCompart = new BLL.Core.Domain.Compart(_context, Param.NewCompartId); int systemId = LogicalComponent.DALComponent.module_ucsub_auto.LongNullableToInt(); DAL.GENERAL_EQ_UNIT geuNew = new DAL.GENERAL_EQ_UNIT { equipmentid_auto = null, module_ucsub_auto = systemId, date_installed = Param.ActionDate, created_user = user.userName, compartid_auto = Param.NewCompartId, compartsn = LogicalCompart.GetCompartSerialNumber(), created_date = Param.ActionDate, comp_status = 0, pos = LogicalComponent.DALComponent.pos, side = LogicalComponent.DALComponent.side, eq_ltd_at_install = 0, track_0_worn = 0, track_100_worn = 0, track_120_worn = 0, track_budget_life = Param.BudgetLife, cmu = Param.CMU, cost = Param.Cost, eq_smu_at_install = 0, smu_at_install = 0, system_LTD_at_install = 0, component_current_value = 0, variable_comp = false, insp_uom = 0 }; DAL.ACTION_TAKEN_HISTORY record = new DAL.ACTION_TAKEN_HISTORY { action_type_auto = (int)ActionType.TurnPinsAndBushingsLink, comment = Param.Comment, compartid_auto = LogicalComponent.DALComponent.compartid_auto, cost = (long)Param.Cost, event_date = Param.ActionDate, entry_date = DateTime.Now, entry_user_auto = Param.userId, equnit_auto = Param.ComponentId, recordStatus = 0, system_auto_id = LogicalComponent.DALComponent.module_ucsub_auto }; LogicalComponent.DALComponent.module_ucsub_auto = null; _context.Entry(LogicalComponent.DALComponent).State = EntityState.Modified; _context.ACTION_TAKEN_HISTORY.Add(record); _context.GENERAL_EQ_UNIT.Add(geuNew); try { _context.SaveChanges(); } catch (Exception ex) { _message = "Recording Action Failed! Please check Log for details"; _actionLog += ex.Message; if (ex.InnerException != null) { _actionLog += ex.InnerException.Message; } return(false); } _actionLog += "Creating a new life for the new component!" + Environment.NewLine; _context.COMPONENT_LIFE.Add(new DAL.ComponentLife { ActionDate = Param.ActionDate, ActionId = record.history_id, ActualLife = Param.CMU, ComponentId = geuNew.equnit_auto, UserId = Param.userId, Title = "Installed on the system in inventory" }); try { _context.SaveChanges(); _message = "Action recorded sucessfully!"; return(true); } catch (Exception ex) { _message = "Action recorded with 1 warning! please check log"; _actionLog += ex.Message; if (ex.InnerException != null) { _actionLog += ex.InnerException.Message; } return(false); } }